2011-05-25 65 views
3

我正在构建一个组件,根据他们一直无效的请求来禁止垃圾邮件机器人的IP,并且没有任何用户可能犯错。谷歌机器人发出无效请求吗?

例如,他们总是试图提交空表单,或者向只能接收POST请求的URL发出GET请求。

我想知道的是,如果我有这样做的禁止谷歌机器人的风险。

他们是否足够聪明,不抓取他们遇到的每个网址?他们是否避免形式网址?

+1

用户通常意外提交空表单。所以你要通过禁止他们来惩罚他们的错误? – jhocking 2011-05-25 15:59:06

+0

我不是指空字段,我的意思是没有字段或缺少字段的表单。 – HappyDeveloper 2011-05-25 15:59:31

+2

那么,你总是可以利用robots.txt(http://www.robotstxt.org/)来阻止GoogleBot击中你的表格。 – 2011-05-25 16:02:09

回答

1

Googlebot遵循链接。它只会请求找到链接的页面。当然,该链接并不是已有驻留在您的网站上,因此可能不在您的直接控制之下。

Googlebot只会发出GET请求,因为根据RFC规定,GET请求不得有副作用。因此,他们不能改变服务器上的状态。提示:切勿使用链接(即“获取”)来执行或确认您网站的某些更改或任何网络蜘蛛可能触发它。

每个CGI都会改变站点的状态,应该验证传入的请求确实是一个POST,以确保安全。

+0

“当然,该链接不必驻留在您的网站上,因此可能不在您的直接控制之下”:是的,有时我会忘记这一点。谢谢 – HappyDeveloper 2011-06-04 00:35:24