如何配置我的网站,以允许从众所周知的机器人像谷歌,必应,雅虎,Alexa的等爬行和停止等有害垃圾邮件发送者,机器人
我应该阻止特定IP? 请讨论任何利弊任何在web.config中或IIS做?
我能做到这一点的服务器级的,如果我有具有root访问权限的VPS?
谢谢。
如何配置我的网站,以允许从众所周知的机器人像谷歌,必应,雅虎,Alexa的等爬行和停止等有害垃圾邮件发送者,机器人
我应该阻止特定IP? 请讨论任何利弊任何在web.config中或IIS做?
我能做到这一点的服务器级的,如果我有具有root访问权限的VPS?
谢谢。
我建议你看看我张贴了类似的问题的答案: 如何识别网络爬虫?
robots.txt的
对robots.txt是礼貌的机器人是有用的,但是垃圾邮件发送者一般不会客气所以他们往往忽略的robots.txt; 这是伟大的,如果你的robots.txt,因为它可以帮助有礼貌的机器人。 不过,要注意,不要堵塞走错了路,因为它可以阻止抓取你真正希望他们抓取内容好机器人。
用户代理
通过用户代理拦截也不是傻子,要么证明,因为垃圾邮件发送者往往冒充浏览器和其他流行的用户代理(如谷歌机器人)。 作为事实上,欺骗用户代理是一个垃圾邮件发送者可以做最简单的事情之一。
博特陷阱
这可能是最好的办法保护自己从没有礼貌,不正确识别自身与用户代理机器人。 至少有两种类型的陷阱:
隐藏的链接是一个这是不可见的人,如没有文字的锚标记: <a href="http://www.mysite.com/path/to/bot/trap"></a>
。 或者,你可以在锚标记文本,但你可以让字体非常小,改变文字颜色相匹配的背景颜色,使人类无法看到该链接。 隐藏链接陷阱可以捕捉任何非人类的机器人,所以我建议您用robots.txt的陷阱相结合,这样你只能望尘莫及坏机器人。
验证机器人
上述步骤可能会帮助你摆脱垃圾邮件的99.9%,但有可能是坏的机器人谁冒充流行的机器人(例如Googlebot)的少数和您的robots.txt遵守; 这些机器人可以吃你分配给Googlebot的请求的数量,并可能导致您暂时抓取你的网站不允许谷歌。 在这种情况下,你又多了一个选择,这是验证机器人的身份。 大多数主要的爬虫(你会希望通过抓取)有一种方式,你可以找出自己的机器人,这里是谷歌的建议,核查他们的机器人: http://googlewebmastercentral.blogspot.com/2006/09/how-to -verify-googlebot.html
该假冒的又一重大BOT和验证失败的任何机器人可以通过IP被封锁。 这或许应该让你更接近防止坏机器人的99.99%抓取您的网站。
通过IP阻塞可能是有用的,但我使用的方法是通过用户代理拦截,这样你可以捕获使用你不想要的,尤其是现场采集卡应用许多不同的IP地址。 因为你需要专注于那些影响你,我也不会为我们的名单。 为我所用,我们已经确定了130多个应用程序不在Web浏览器,而不是搜索引擎,我们不希望访问我们的网站。 但是你可以对用户代理的web搜索网站抓取开始。
这样做的最简单方法是使用robots.txt文件在网站的根目录下。
robots.txt文件的语法如下:
User-agent: *
Disallow: /
这有效地禁止其尊重来自定义页面的robots.txt约定所有的机器人。
要记住,虽然事情是不是所有的网络抓取工具遵守这个约定 。
它可以是从防止机器人击中服务器的时间疯狂一些非常有用的,它也可以防止一些机器人,你希望在所有没有触及该网站是有用的,但不幸的是没有万灵药。 如已经提到的,有没有这样的动物,垃圾邮件是一个常数头痛。
欲了解更多信息,看看http://www.robotstxt.org/
我喜欢使用.htaccess文件,一旦你有一个列表的已知漫游这些行添加到文件底部。
的RewriteCond%{HTTP_REFERER} ^ HTTP(S)://([^] +)suspectIP。 $ [NC,OR]
的RewriteCond%{HTTP_REFERER} ^ HTTP(S)://([^。] +。)suspectURL.com。 $ [NC]
重写规则(*) - [F]