【问题标题】:whitelisting to stop undesireable bots using IIS白名单以阻止使用 IIS 的不良机器人
【发布时间】:2011-11-06 23:15:44
【问题描述】:

基本上我想在 IIS 中执行此操作:

在 Apache 中,您可以通过简单地将 .htaccess 文件更改为 OPT-IN 而不是 OPT-OUT 来阻止许多机器人,基本上是白名单而不是黑名单。默认情况下,您允许 Google、Yahoo、MSN 等以及 IE、Opera、Firefox、Netscape 和其他所有内容都退回。这里的美妙之处在于您不必再继续寻找机器人,因为任何自称为机器人的东西都会被退回。

如何在 IIS 中实现这一点?你能给我举个例子吗?谢谢!

参考:http://www.spanishseo.org/how-to-identify-user-agents-and-ip-addresses-for-bot-blocking

http://incredibill.blogspot.com/2011/05/whitelisting-not-blacklisting-to-stop.html

【问题讨论】:

    标签: asp.net asp.net-mvc iis bots whitelist


    【解决方案1】:

    在 IIS 中没有执行此操作的本机方式。如果您使用的是 asp.net,则很容易创建一个 httpmodule 来执行此过滤,但除非我们谈论的是 IIS7,否则只会过滤 .net 请求。

    除此之外,您还看到了一个 IIS 过滤器,它是用 C++ 或 Delphi 之类的东西编写的,或者可以编译 dll 的东西。它们也不容易写。

    我写了一些类似的东西,使用 Project Honeypot (http://projecthoneypot.org/) 来阻止垃圾邮件 IP 地址。你可以在这里得到它:http://code.google.com/p/blacklistprotector/

    【讨论】:

    • 只是一个评论;对 IIS6 中的所有请求运行 .Net httpmodules 没有问题。我认为 gu 对此有过帖子......无论如何,我们在工作中这样做是为了强制未登录的用户无法访问图像。
    • 我知道你可以用通配符来做到这一点。大多数文章似乎都让您自行决定是否使用它。有人说它会影响性能,有人说它没有影响。
    • 我没有注意到任何影响所以... xD
    • 感谢 Simon,这将在 IIS7 上运行,因此 httpmodules 可以正常工作。 :) 你写的 httpmodule 是一个黑名单过滤器。是否可以像我上面描述的那样编写白名单过滤器?
    • 我认为您发布的链接中的评论总结得很好。白名单并不容易。设置好之后,创建一个 httpmodule 来阻止不在其批准列表中的用户代理将是微不足道的。您必须克服一个事实,即那里有很多有效的用户代理。
    猜你喜欢
    • 2017-12-05
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多