Erhalten Sie die vollständige URL in PHP
Beim Versuch, die vollständige URL mithilfe des Code-Snippets $actual_link = 'http://' abzurufen .$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];, stößt man auf eine Einschränkung aufgrund der .htaccess-Maskierung. Die zurückgegebene URL spiegelt möglicherweise nicht genau die in der Navigationsleiste des Browsers angezeigte URL wider.
Um die genaue URL zu erhalten, wie sie im Browser angezeigt wird, verwenden Sie die Variable $_SERVER['REQUEST_URI']. Der folgende Code veranschaulicht seine Verwendung:
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Für Flexibilität zwischen HTTP- und HTTPS-Protokollen verwenden Sie den folgenden Code:
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Sicherheitsüberlegungen
Es ist wichtig zu beachten, dass dieser Code Auswirkungen auf die Sicherheit hat. Der Client und der Server können HTTP_HOST und REQUEST_URI in beliebige Werte ändern. Eine angemessene Bereinigung und Eingabevalidierung sind von entscheidender Bedeutung, um zu verhindern, dass diese Werte in Sicherheitskontexten ausgenutzt werden (CWE-20).
Das obige ist der detaillierte Inhalt vonWie kann ich die vollständige, vom Browser angezeigte URL in PHP unter Berücksichtigung von .htaccess und Sicherheit erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!