未定义的索引:错误日志中的HTTP_USER_AGENT

时间:2015-01-30 14:18:53

标签: php spam-prevention

我的错误日志中的空用户用户代理存在一些问题,其中大部分都发生在404页面上,我正在跟踪所有错误以进一步纠正或排除。

我找到了一些我可以用来解决这个错误问题的解决方案,所以这不是太大的问题,但我想我的真正问题是,因为大多数错误都是空的HTTP_USER_AGENT在我看来它不是真正的用户,而是一个机器人正在尝试我的系统任何漏洞。我想要做的就是为此创建一些陷阱,但我不确定只有一件事,这是友好的机器人,如googlebot或yaoo slurp或类似的东西,我希望不受阻止爬行我的网站。这些友好的机器人是否有HTTP_USER_AGENT我可以识别它,以便我不会意外阻止它?我的第二个问题是什么是正确的方法呢?任何代码或指针都会有所帮助。

如果我的问题不完全是关于在代码创建过程中获取堆栈并寻找解决方案,请提前感谢并原谅我。我只是厌倦了我网站上最近的所有垃圾邮件活动,除了这里外无处可寻找可靠的解决方案。

我必须编辑问题才能说清楚。

如果HTTP_USER_AGENT为空,只发出403是否安全?

其中一个例子是我的服务器STATUS 301,COUNTRY China,USER AGENT Bittorrent上从未存在的页面,然后是再次使用空白用户代理的相同IP。

GET /announce?info_hash=%8E%D0%80%01%B7K7%DBb%CF%83%82%B3%93%8E%A0wi%90%D4&peer_id=%2DSD0100%2D%09B%12%19%5FYi%2B%0C%00%C9Q&ip=192.168.1.101&port=14706&uploaded=880755775&downloaded=880755775&left=1101004800&numwant=200&key=26441&compact=1 HTTP/1.0

1 个答案:

答案 0 :(得分:1)

是的,大多数机器人(google / yahoo)设置了他们的用户代理,你永远不应该依赖它们。

对于istance,googlebot可以使用标准浏览器用户代理(例如:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36)访问您的网站,以检查是否存在任何差异。

这是为了防止网站站长为googlebot优化网站,并为用户提供不同的页面。

如果您看到来自特定机器人的过多流量,最好的选择是阻止其地址。