为了确定网页或应用程序的完整 URL,PHP 提供了各种机制。一种常用的方法是利用 $_SERVER['HTTP_HOST'] 和 $_SERVER['PHP_SELF'] 的组合,如原始问题中提到的代码块中所示。
这种方法的警告出现当掩码在 .htaccess 文件中实现时。这些掩码可能会更改地址栏中显示的 URL,使其与服务器上文件的实际路径不同。要克服此问题并准确检索浏览器导航栏中显示的 URL,请考虑利用 $_SERVER['REQUEST_URI'] 变量。
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
需要注意的是,完全支持双引号字符串在 PHP 中。要无缝处理 HTTP 和 HTTPS 协议,可以使用以下代码片段:
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
安全注意事项:
请注意,清理和输入验证措施是在使用 $_SERVER['HTTP_HOST'] 和 $_SERVER['REQUEST_URI'] 时至关重要,因为它们有可能被恶意行为者操纵。必须防止为这些变量设置任意值,特别是在安全敏感的上下文中。
以上是即使使用 .htaccess 掩码,如何在 PHP 中获取完整 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!