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

蜜罐技术对垃圾邮件有多有效?

  •  27
  • Strae  · 技术社区  · 16 年前

    我所说的“蜜罐”,或多或少是指这种做法:

    #Register form
    <style>
        .hideme{
            display:none;
            visibility: hidden;
        }
    </style>
    <form action="register.php">
        Your email: <input type="text" name="u-email" />
        Choose a password: <input type="text" name="passwd" />
        <div class="hideme">
            Please, leave this field blank: <input type="text" name="email" />  #the comment is for text-browser users
        </div>
        <input type="submit" value="Register" autocomplete=off />
    </form>
    
    //register.php
    <?php
    if($_POST['email'] != ''){
        die("You spammer!");
    }
    //otherwise, do the form validation and go on.
    ?>
    

    更多信息 here

    显然,真正的字段是用随机散列来命名的,蜜罐字段可以有不同的名称(电子邮件、用户、网站、主页等等),spambot通常会填写这些名称。

    你们中有人有这方面的经验吗?有效吗?

    4 回复  |  直到 7 年前
        1
  •  4
  •   Bert H András    6 年前

    它的工作相对较好,但是,如果机器人创建者迎合你的页面,他们会看到(甚至有一个例行设置检查),并很可能会相应地修改他们的机器人。

    我的偏好是使用 reCaptcha . 但是上面这些会阻止一些机器人。

        2
  •  22
  •   geerlingguy    7 年前

    老问题,但我想我应该插嘴,因为我一直在为Drupal维护一个模块( Honeypot 十 examples

    我有更好的成功与蜜罐+时间戳比我有任何验证码为基础的解决方案,因为我不仅阻止大多数垃圾邮件,我也没有 punishing my users .

        3
  •  11
  •   mowmow-guest    12 年前

    使用以下技术,我100%阻止垃圾邮件。

    1. 蜜罐显示:无。 如果失败,运行额外的脚本来收集IP地址,并将其写入.htaccess文件中的deny from行。
    2. 计算注释字段上的URL数。 如果失败,只发出警告,因为这可能是人为的。
    3. 测量发帖时间。
    4. 每天用crontab修剪htaccess文件,这样deny行不会超过30行(相应地调整)。

    拒绝IP地址的访问是非常有效的,因为机器人一直试图用相同的IP潜入(如果他们改变IP,那么我把新的IP放在htaccess上,这样就没问题了)。我每天用crontab自动修剪.htaccess文件,这样文件就不会太大。我调整IP的数量,以阻止相同的机器人与相同的IP将被封锁约一个星期左右。我注意到,相同的IP是用了3天的机器人攻击几次。

        4
  •  6
  •   Jeff Seager    7 年前

    大约从2010年开始,我就在三种表单上使用了蜜罐验证码,直到最近,它仍然非常有效,没有任何修改。我们刚刚做了一些改变,我们认为这些改变将阻止大多数spambot,至少在它们变得更复杂之前是这样。大致来说,我们是这样设置的:

    每个窗体上都隐藏一个输入字段(显示:未指定在CSS class属性中),默认值为“”。对于屏幕阅读器等,隐藏的输入标签明确表示字段必须留空。默认情况下没有长度,我们使用代码服务器端(在我们的例子中是ColdFusion,但它可以是任何语言)来停止表单提交(如果该字段中有任何内容)。当我们以这种方式中断提交时,我们会给用户相同的反馈,就像提交成功一样(“感谢您的评论”或类似的东西),因此没有失败的外在迹象。

    但随着时间的推移,机器人们逐渐变得聪明起来,我们最简单的表单就是被垃圾邮件打得水泄不通。带有前端验证的表单运行良好,我想这是因为它们也不接受任何旧的文本输入,而是要求电子邮件地址的结构与电子邮件地址类似,等等。一个被证明易受攻击的表单只有一个用于评论的文本输入和两个用于联系信息的可选输入(电话号码和电子邮件);重要的是,我认为,这些输入都不包括前端验证。

    因此,我的经验总结如下:蜜罐工作得很好,因为它最初的设想。(我不记得是在哪里找到的,但是 this post 与我十多年前第一次看到的非常相似。)加上 client-side validation enabled by HTML5 . 我们认为,如果我们现在对那些过于草率的提交施加服务器端限制,情况会更好。