在 PHP 中获取完整 URL
尝试使用代码片段 $actual_link = 'http://' 检索完整 URL 时.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];,由于 .htaccess 而面临限制掩蔽。返回的 URL 可能无法准确反映浏览器导航栏中显示的 URL。
要获取浏览器中显示的确切 URL,请使用 $_SERVER['REQUEST_URI'] 变量。以下代码说明了其用法:
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
为了在 HTTP 和 HTTPS 协议之间实现灵活性,请使用以下代码:
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
安全注意事项
需要注意的是,此代码具有安全隐患。客户端和服务器可以将 HTTP_HOST 和 REQUEST_URI 修改为任意值。充分的清理和输入验证对于防止这些值在安全上下文中被利用至关重要 (CWE-20)。
以上是如何在 PHP 中获取完整的、浏览器显示的 URL、考虑 .htaccess 和安全性?的详细内容。更多信息请关注PHP中文网其他相关文章!