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

#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.
?>

更多信息 这里.

显然,真实字段是用随机哈希值命名的,蜜罐字段可以有垃圾邮件机器人通常填写的不同名称(电子邮件、用户、网站、主页等)。

我喜欢这种技术,因为它不会导致用户对验证码感到恼火。

你们中有人对这项技术有经验吗?有效果吗?

有帮助吗?

解决方案

它的工作原理比较好,但是,如果机器人的创造者满足您的网页,他们会看到(甚至有一个常规的设置,可以检查),将最有可能相应地修改他们的机器人。

我的选择是使用验证码。但是,上述将停止一些机器人。

其他提示

老问题,但我想我会附和,因为我一直保持为Drupal(模块蜜罐),其使用所述的蜜罐垃圾邮件预防方法旁边的基于时间的保护(用户不能在提交表单小于 X 秒,和X与每个连续失败提交指数地增加) 。使用这两种方法,我听到很多,很多网站(范例),其已经消除几乎所有自动垃圾邮件。

我曾与蜜罐+时间戳更好的成功,比我有任何基于CAPTCHA的解决方案,因为我不仅阻止垃圾邮件发送者最多,我也没有的惩罚我的用户的。

用以下技术,我框100%的垃圾邮件。

  1. 蜜罐与显示:没有。如果失败,运行额外的剧本,以收集的IP地址,并把它写。就文件在拒绝离线。
  2. 计量网址上的评论的领域。如果失败,只发出警告,因为这可能是人类。
  3. 测量的时间。如果小于5秒,显示错误信息,让他们再次尝试,因为人可以写很快与自动填写插件。
  4. 修剪要文件,戴利用务所拒绝线不会超过30线(相应的调整).

拒绝访问有IP地址非常有效的,因为的机器人一直试图偷偷在同一Ip(如果他们改变IP然后我把这些新的知识产权上就所有问题)。我的装饰。就文件每日与务自动使该文件不会太大。我调整数量的知识产权框同样的机器人有同样的知识产权将阻止大约一个星期左右。我注意到,同一IP使用由机器人于3天的攻击数次。

第一#1招块的约99%,并#2块的大约1%和机器人不会通过这2#3可能不是必要的。

大约从 2010 年开始,我就在三种形式上使用了蜜罐验证码,直到最近,它的效果非常好,无需任何修改。我们刚刚做了一些更改,我们认为这些更改将阻止大多数垃圾邮件机器人,至少在它们变得更加复杂之前。概括地说,我们的设置方式如下:

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

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

添加验证非常容易,我们很快就会这样做。不过,就目前而言,我们已经添加了其他人在“时间陷阱”中提出的建议。当页面加载并将时间戳与提交表单提交的时间时,我们设置了一个时间变量。目前我们允许在页面上 10 秒后提交,尽管有些人建议 3 秒。我们将根据需要进行调整。在添加前端验证之前,我想看看这对垃圾邮件流量有何影响。

所以我的经验的快速总结是这样的:蜜罐按照最初的设想工作得很好。(我不记得在哪里第一次找到它,但是 这个帖子 与我十多年前看到的第一个非常相似。)添加以下内容似乎更有效 HTML5 支持的客户端验证. 。我们认为,如果我们现在对那些过于仓促的提交施加服务器端限制,情况会更好。

最后,我要提到像 reCaptcha 这样的解决方案对我们来说是不可能的。我们花费了大量时间使用 Google 地图 API 开发网络应用程序,该应用程序运行良好,直到 Google 在没有警告和转换建议的情况下更改了他们的 API。我们不会与同一个施虐配偶结婚两次。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top