商业网站(ASP.NET MVC)的内容通常会由比赛进行爬网。这些人是程序员,他们使用复杂的方法对站点进行爬网,因此无法通过IP识别他们。
不幸的是,用图像替换值不是一种选择,因为该站点仍应保持屏幕阅读器(JAWS)的可读性。

我的个人想法是使用robots.txt:禁止抓取工具访问页面上的一个常见URL(可以将其伪装成普通的商品详细信息链接,但对普通用户隐藏)有效URL:http://example.com?itemId=1234禁止使用:http://example.com?itemId=123在128以下。如果IP所有者输入了禁止的链接,则显示CAPTCHA验证。
普通用户永远不会跟随这样的链接,因为它是不可见的,Google不必因为它是虚假的就对其进行爬网。问题在于,屏幕阅读器仍会读取链接,我认为这样做不那么有效,值得实现。

最佳答案

您的想法可能适用于一些基本的爬虫,但是很容易解决。他们只需要使用代理,并获取新IP上的每个链接即可。

如果您允许匿名访问您的网站,那么您将永远无法完全保护您的数据。即使您要花费大量的时间和精力来阻止爬虫,他们也可以像 fiddler 一样让人们来浏览和捕获内容。防止竞争对手看到您的数据的最佳方法是不要将其放在网站的公共(public)部分。

强制用户登录可能会有所帮助,至少您可以选择是谁在对您的网站进行爬网并将其禁止。

关于asp.net-mvc - 保护网站内容不受爬网程序的攻击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6596373/

10-13 02:44