【发布时间】:2011-06-19 12:05:34
【问题描述】:
我们有一个安全的网站(在 Windows 服务器和 IIS 5 上运行的 .NET 2.0/C# 开发),会员必须登录该网站,然后他们才能查看存储在虚拟目录中的一些 PDF 文件。为了防止蜘蛛爬取该网站,我们有一个 robots.txt 将禁止所有用户代理进入。但是,这不会阻止流氓蜘蛛索引 PDF 文件,因为它们会忽略 robots.txt 命令。由于文档是安全的,我不希望任何蜘蛛进入这个虚拟目录(即使是好的)。
阅读网络上的几篇文章,想知道程序员(而不是网站管理员)是如何在他们的应用程序中解决这个问题的,因为这似乎是一个非常普遍的问题。网上有很多选择,但我正在寻找简单而优雅的东西。
我见过的一些选项,但似乎很弱。这里列出了它们的缺点:
创建一个允许流氓蜘蛛进入的蜜罐/tarpit,然后列出它们的 IP 地址。缺点:这也可以阻止来自同一 IP 的有效用户,需要手动维护此列表或有某种方式让成员将自己从列表中删除。由于该网站位于互联网上,因此我们没有有效成员将使用的 IP 范围。
请求头分析:然而,流氓蜘蛛使用真实的代理名称,所以这是没有意义的。
Meta-Robots 标签:缺点:只有 google 和其他有效蜘蛛才会遵守。
有一些关于使用 .htaccess 的讨论,这应该很好,但那只是 apache,而不是 IIS。
非常感谢任何建议。
编辑:正如下面 9000 指出的那样,流氓蜘蛛应该无法进入需要登录的页面。我想问题是“如何防止知道链接表单的人在不登录网站的情况下请求 PDF 文件”。
【问题讨论】:
标签: security iis virtual-directory web-crawler