PHP $_SERVER['HTTP_HOST'] 与 $_SERVER['SERVER_NAME'],我是否正确理解了手册页?
我做了很多搜索,还阅读了PHP $_SERVER文档。对于我的 PHP 脚本,对于在整个站点中使用的简单链接定义,我是否具有此权限?
$_SERVER['SERVER_NAME']
基于Web服务器的配置文件(在我的情况下是Apache2),并且根据几个指令而变化:(1)VirtualHost,(2)ServerName,(3)UseCanonicalName等。
$_SERVER['HTTP_HOST']
基于客户端的请求。
因此,在我看来,为了使我的脚本尽可能兼容而使用的正确方法是 。这个假设是否正确?$_SERVER['HTTP_HOST']
后续评论:
我想在阅读这篇文章后,我有点偏执,并注意到有些人说“他们不会信任任何vars”:$_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 (评论: 弗拉基米尔·科内亚 14-Mar-2009 01:06)
显然,讨论主要是关于以及为什么你不应该在表单操作属性中使用它,而没有适当的转义来防止XSS攻击。$_SERVER['PHP_SELF']
我对上面最初问题的结论是,即使以形式使用,也可以“安全”地用于网站上的所有链接,而不必担心XSS攻击。$_SERVER['HTTP_HOST']
如果我错了,请纠正我。