最佳答案
我做了大量的搜索,还阅读了 PHP $_ SERVER docs。我有这个权利,关于我的 PHP 脚本使用简单的链接定义在我的整个网站使用?
$_SERVER['SERVER_NAME']
基于 Web 服务器的配置文件(在我的例子中是 Apache2) ,并且根据一些指令而变化: (1) VirtualHost,(2) ServerName,(3) UseCanonicalName,等等。
$_SERVER['HTTP_HOST']
基于客户端的请求。
因此,在我看来,为了使我的脚本尽可能兼容,使用 $_SERVER['HTTP_HOST']
是合适的。这个假设正确吗?
后续评论:
读完这篇文章后,我想我有点多疑了,因为我注意到有些人说“他们不会相信任何 $_SERVER
变量”:
Http://markjaquith.wordpress.com/2009/09/21/php-server-vars-not-safe-in-forms-or-links/
Http://php.net/manual/en/reserved.variables.server.php#89567 (评论: Vladimir Kornia 2009年3月14日01:06)
显然,讨论的主要内容是关于 $_SERVER['PHP_SELF']
以及为什么不应该在表单 action 属性中使用它,而不进行适当的转义以防止 XSS 攻击。
关于上面我最初的问题,我的结论是,对站点上的所有链接使用 $_SERVER['HTTP_HOST']
是“安全的”,而不必担心 XSS 攻击,即使在表单中使用也是如此。
如果我说错了,请纠正我。