我想防止在我的网站中收集数据(当然 googlebot 除外)。我猜依靠 GB 的 UserAgent 还不够强大(每个机器人都可以伪造它)
我怎样才能仍然验证 GoogleBot 以避免假货。
我想防止在我的网站中收集数据(当然 googlebot 除外)。我猜依靠 GB 的 UserAgent 还不够强大(每个机器人都可以伪造它)
我怎样才能仍然验证 GoogleBot 以避免假货。
官方的方式是结合使用正向和反向DNS查找;他们不能假装!
更多信息来自 Google 的网站管理员博客:如何验证 Googlebot
告诉网站管理员根据具体情况使用 DNS 进行验证似乎是最好的方法。我认为推荐的技术是进行反向 DNS 查找,验证该名称是否在 googlebot.com 域中,然后使用该 googlebot.com 名称进行相应的正向 DNS->IP 查找;例如:
> host 66.249.66.1 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com. > host crawl-66-249-66-1.googlebot.com crawl-66-249-66-1.googlebot.com has address 66.249.66.1
我认为仅仅进行反向 DNS 查找是不够的,因为欺骗者可以设置反向 DNS 指向
crawl-a-b-c-d.googlebot.com
.
但是,我建议缓存每个 IP 查找的结果并仅定期执行,以免在验证过程中引入过多开销。
Google 官方网站管理员博客上有一篇文章解释了“官方验证 Googlebot 的方式”。
告诉网站管理员根据具体情况使用 DNS 进行验证似乎是最好的方法。我认为推荐的技术是进行反向 DNS 查找,验证该名称是否在 googlebot.com 域中,然后使用该 googlebot.com 名称进行相应的正向 DNS->IP 查找;例如:
>
host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
>
host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1
我认为仅仅进行反向 DNS 查找是不够的,因为欺骗者可以设置反向 DNS 指向
crawl-a-b-c-d.googlebot.com
.
谷歌机器人使用以下范围 -
203.208.60.0/24、66.249.64.0/20、2001:4860:4801:2:6b00:6006:1300:b075、2001:4860:4801:5:1000:6006:1300:b075、2001:4860:4801: 6:e300:6006:1300:b075、2001:4860:4801:2001::6006:1300:b075、2001:4860:4801:2002::6006:1300:b075
必应机器人 IP 范围 -
65.52.104.0/24, 65.52.108.0/22, 65.55.24.0/24, 65.55.52.0/24, 65.55.55.0/24, 65.55.213.0/24, 131.253.24.0/22, 131.253.46.0/23, 16.0/23、157.55.18.0/24、157.55.32.0/22、157.55.36.0/24、157.55.48.0/24、157.55.109.0/24、157.55.110.40/29、157.55.1110.48/28、. 24, 157.56.93.0/24, 157.56.94.0/23, 157.56.229.0/24, 199.30.16.0/24, 207.46.12.0/23, 207.46.192.0/24, 207.46.195.0/24, 204,.4.6./ 207.46.204.0/24
使用下面的链接了解更多信息 -
http://myip.ms/info/bots/Google_Bing_Yahoo_Facebook_etc_Bot_IP_Addresses.html
.
我们公司(Incapsula)最近对 Googlebot 活动进行了一项研究,结果显示平均有 21% 的 Googlebot 印象尝试。(其中 75% 是直接有害的)
http://www.incapsula.com/the-incapsula-blog/item/369-was-that-really-a-google-bot-crawling-my-site
话虽如此,由于上述验证方法是100%完全证明的,因此该漏洞仅由于粗心而继续存在。