Um die vollständige URL einer Webseite oder Anwendung zu ermitteln, bietet PHP verschiedene Mechanismen. Eine häufig verwendete Methode ist die Verwendung einer Kombination aus $_SERVER['HTTP_HOST'] und $_SERVER['PHP_SELF'], wie in dem in der ursprünglichen Frage erwähnten Codeblock dargestellt.
Bei diesem Ansatz gibt es einen Vorbehalt wenn Masken in der .htaccess-Datei implementiert sind. Diese Masken können möglicherweise die in der Adressleiste angezeigte URL ändern und sie vom tatsächlichen Pfad der Datei auf dem Server unterscheiden. Um dieses Problem zu lösen und die in der Navigationsleiste des Browsers angezeigte URL genau abzurufen, sollten Sie die Variable $_SERVER['REQUEST_URI'] nutzen.
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Es ist wichtig zu beachten, dass Zeichenfolgen in doppelten Anführungszeichen vollständig unterstützt werden in PHP. Um sowohl HTTP- als auch HTTPS-Protokolle nahtlos zu verarbeiten, kann das folgende Code-Snippet verwendet werden:
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Sicherheitsüberlegungen:
Beachten Sie, dass Maßnahmen zur Bereinigung und Eingabevalidierung gelten Aufgrund ihres Manipulationspotenzials sind sie bei der Arbeit mit $_SERVER['HTTP_HOST'] und $_SERVER['REQUEST_URI'] von entscheidender Bedeutung durch böswillige Akteure. Es ist wichtig, sich davor zu schützen, dass für diese Variablen willkürliche Werte festgelegt werden, insbesondere in sicherheitsrelevanten Kontexten.
Das obige ist der detaillierte Inhalt vonWie kann ich die vollständige URL in PHP erhalten, auch mit .htaccess-Masken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!