防止僵尸程序抓取网站的某些区域

时间:2010-02-09 00:43:32

标签: asp.net-mvc seo search-engine bots web-crawler

我对搜索引擎优化以及网络蜘蛛如何工作知之甚少,所以请原谅我的无知。我正在创建一个站点(使用ASP.NET-MVC),该站点具有显示从数据库检索的信息的区域。数据对用户来说是唯一的,因此没有真正的服务器端输出缓存。但是,由于数据可能包含用户可能不希望从搜索引擎结果中显示的内容,因此我想阻止任何蜘蛛访问搜索结果页面。我是否应该采取任何特殊措施来确保搜索结果目录不被抓取?此外,蜘蛛是否会抓取动态生成的页面,并且任何阻止某些目录搜索的操作都会使我的搜索引擎排名陷入困境?

编辑:我应该补充一下,我正在阅读robots.txt协议,但它依赖于网络抓取工具的合作。但是,我还想阻止任何忽略robots.txt文件的数据挖掘用户。

我感谢任何帮助!

5 个答案:

答案 0 :(得分:2)

您可以通过在服务器上实施限制来防止某些恶意客户端过多地攻击您的服务器。 “抱歉,您的IP在过去几分钟内向此服务器发出了太多请求。请稍后再试。”但实际上,假设您无法阻止真正的恶意用户绕过您实施的任何限制机制。

鉴于此,这是更重要的问题:

您是否对全世界可以看到的信息感到满意? 您的用户对此感到满意吗?

如果这些问题的答案为否,那么您应该确保只有授权用户才能看到敏感信息。如果信息不是特别敏感,但您不希望客户端抓取它,那么限制可能是一个不错的选择。你甚至可能会被爬行吗?如果没有,robots.txt应该没问题。

答案 1 :(得分:2)

好像你有2个问题。

首先关注搜索结果中出现的某些数据。第二个关于恶意或不道德的用户收集用户相关数据。

第一个问题将通过适当使用robots.txt文件来涵盖,因为所有大型搜索引擎都会尊重这一点。

第二个问题似乎与数据隐私有关。立即想到的第一个问题是:如果有人可能不想显示的用户信息,为什么要提供它? 这些数据的隐私政策是什么?
用户是否有能力控制哪些信息可用? 如果信息可能敏感但对系统很重要,那么它是否会受到限制,因此只有登录用户才能使用?

答案 2 :(得分:1)

查看Robots exclusion standard。这是一个文本文件,您放在您的网站上,告诉机器人它可以和不能索引。您还需要解决机器人不遵守robots.txt文件时会发生什么。

答案 3 :(得分:1)

提到的robots.txt文件。如果这还不够,那么你可以:

  • 阻止未知的使用者 - 难以维护,很容易让机器人伪造浏览器(虽然大多数合法的机器人都不会)
  • 阻止未知的IP地址 - 对公共网站无用
  • 需要登录
  • 限制用户连接 - 调整很棘手,你仍然会披露信息。

也许通过使用组合。无论哪种方式,这是一种权衡,如果公众可以浏览它,机器人也可以。确保你没有阻止&在试图阻止机器人时疏远人们。

答案 4 :(得分:0)

一些选择:

  • 强制用户登录以查看内容
  • 在内容
  • 之前添加CAPTCHA页面
  • 在Flash中嵌入内容
  • 使用JavaScript动态加载