我的php页面流量很大但没有变量$_SERVER['HTTP_HOST']集.
此流量类似于每秒1次点击.我不知道它可能是什么,但为了减少服务器负载,我在每个php页面的顶部执行此操作:
if (!isset($_SERVER['HTTP_HOST']))
exit;
Run Code Online (Sandbox Code Playgroud)
你知道是什么原因引起的吗?HTTP_HOST没有设置时退出是否安全?
普通用户可以不设置访问我的页面HTTP_HOST吗?
嗯,可能也是"apache虚拟连接".检查您是否访问"内部虚拟连接"的日志,主apache进程使用这些命令将命令发送到他的子进程(如自己自杀,或者我们需要重新加载conf).这些连接是在HTTP/1.0中进行的,没有HOST设置.
http://wiki.apache.org/httpd/InternalDummyConnection
这些#$!"#sh#f#ck*$!连接在那里制造了很多错误,(缓存,没有HTTP/1.1等).一个'简单'的解决方案是没有基于主机名的Virtuahost为你服务主应用程序作为默认虚拟主机.使用'it works'页面保留一个非常简单的默认虚拟主机,或者非常简单的"如果你得到这个页面,你可能会尝试在某处获得支持HTTP/1.1的浏览器",作为一个静态页面然后,所有HTTP/1.0流量或仅通过IP访问您的服务器的人将不在您的实际应用程序中.
为了完整,我今年看到一家公司使用不良代理从所有传出的HTTP流量中删除Host头.但这些坏人是愚蠢的,我不认为有很多人仍然在没有主机的情况下浏览HTTP/1.0.
HTTP_HOST是客户端 HTTP 请求的一部分,并指定请求将定向到哪个主机名。在多站点设置中区分正确的站点是必要的。
如果HTTP_HOST未设置,则客户端要么非常非常旧(HTTP 1.0 不支持 HTTP_HOST),要么直接向您网站的 IP 发出请求。
我看不出像你那样阻止有什么坏处。但是,如果您担心流量,在 Web 服务器级别解决此问题可能更明智。
| 归档时间: |
|
| 查看次数: |
10360 次 |
| 最近记录: |