代码之家  ›  专栏  ›  技术社区  ›  craigmoliver

ASP.NET MVC中的安静机器人检测和过滤

  •  6
  • craigmoliver  · 技术社区  · 15 年前

    我正在设置一个电子邮件表单,我需要能够检查机器人程序并安静地过滤它们。该网站运行ASP.NET MVC。我想避开验证码。有什么想法吗?

    3 回复  |  直到 11 年前
        1
  •  2
  •   Cheeso    15 年前

    IIRF 能做 blacklisting based on user-agent or IP address (或其他东西)。 适用于ASP.NET、PHP等。在IIS5、6、7上运行。快速,轻松,自由。

    你可以 browse the doc here .

        2
  •  10
  •   Community Neeleshkumar S    7 年前

    添加一个新的输入字段,将其标记为“请留空”,使用CSS将其隐藏,如果填写了该字段,则忽略日志。像这样:

    <style type='text/css'>
    #other_email_label, #other_email {
        display: none;
    }
    </style>
    ...
    <form action='mail'>
    <label id='other_email_label' for='other_email'>Please leave blank:</label>
    <input type='text' name='other_email' id='other_email'>
    ...
    </form>
    

    所以人类不会看到这个字段(除非他们关闭了CSS,在这种情况下,他们会看到标签并将其留空),但垃圾邮件机器人会填充它。任何填充了该字段的帖子都必须来自垃圾邮件机器人。

    (摘自我对这个相关问题的回答: "What is a good invisible captcha?" )

        3
  •  1
  •   Aiden Bell    15 年前

    我看到了一个关于表单的解决方案,前提是使用javascript 统计击键次数 并计时从页面加载到表单提交的距离。然后 猜测 如果它是基于该时间的bot,并且作为bots(使用浏览器)的典型按键/秒期望边界,则在不使用笔画的情况下(仅使用ctrl-v)快速转储文本。

    僵尸只发送帖子或获取数据而不加载页面,也会被过滤。

    我不知道实现的细节,但可能是个主意。