我们的网站正在被内容盗窃者定期抓取。 我们显然希望通过好的机器人和合法的用户活动,但要阻止可疑的活动。
我们已经在我们的防火墙尝试了IP阻塞,但是这成为pipe理阻止列表。 此外,我们使用IIS处理程序,但是这使我们的Web应用程序变得复杂。
是否有人熟悉networking设备,防火墙或应用程序服务(比如IIS)可以减less或消除内容刮板?
如果scrapers是BOTS而不是人类,那么可以尝试创build一个蜜jar目录,它们将通过该目录中的“默认页面”脚本自动抓取并被IP地址阻止。 人类可以很容易地解除自己的阻碍,但它会阻止机器人,因为他们会得到任何进一步访问403“未经授权”的错误。 我使用这种技术阻止违反robots.txt的恶意机器人,但不会永久阻止共享相同IP的人或“意外”导航到阻止脚本。 这样,如果一个共享的IP被阻止,它不是永久的。 就是这样:
我在robots.txt中阻止的一个或多个子目录(文件夹)中设置了默认(脚本)页面。 那个页面如果被一个行为不当的机器人(或者一个窥探的人)加载,他们的IP地址就会被添加到一个被阻止的列表中。 但是,我有一个403(“未经授权”)的error handling程序,将这些被阻止的IPredirect到一个页面,解释发生了什么,并包含一个人可以用来解锁IP的validation码。 这样,如果因为一个人使用了一次IP而被阻塞,那么下一个获得该IP的人将不会被永久阻止 – 只是给了一些麻烦。 当然,如果一个特定的IP不断被重新阻塞,我可以采取进一步的手动来解决这个问题。
这是逻辑:
而已! 一个脚本文件来处理阻止通知并取消阻止validation码提交。 robots.txt文件中的一个条目(最小)。 一个403redirect在htaccess文件中。
检查请求标题? 根据他们是否是小子,这可能就够了
你需要一个硬件防火墙来进行HTTP检查。 恐怕这不会便宜。
我似乎记得Cisco ASA 5520会这样做,但其中一个的价格约为4600英镑= = 6900美元。
你可能会做一些类似的运行防火墙应用程序的Linux机器,成本的一小部分。