Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 蜜罐技术对垃圾邮件有多有效?_Php_Spam_Spam Prevention_Honeypot - Fatal编程技术网

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

Php 蜜罐技术对垃圾邮件有多有效?,php,spam,spam-prevention,honeypot,Php,Spam,Spam Prevention,Honeypot,我所说的“蜜罐”或多或少是指这种做法: #Register form <style> .hideme{ display:none; visibility: hidden; } </style> <form action="register.php"> Your email: <input type="text" name="u-email" /> Choose a password:

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

#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.
?>
#登记表
希德姆先生{
显示:无;
可见性:隐藏;
}
您的电子邮件:
选择密码:
请将此字段留空:#此注释适用于文本浏览器用户
//register.php
更多信息

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

我喜欢这种技术,因为它不会让用户对验证码感到厌烦。


你们中有谁有过这种技术的经验吗?它有效吗?

它工作得相对较好,但是,如果bot创建者迎合您的页面,他们将看到这一点(甚至有常规设置要检查),并且很可能会相应地修改他们的bot


我的偏好是使用。但是上面提到的将会阻止一些机器人

老问题,但我想我应该插嘴,因为我一直在为Drupal()维护一个模块,该模块使用蜜罐垃圾邮件预防方法和基于时间的保护(用户不能在少于X秒的时间内提交表单,并且X随着每次连续提交失败而呈指数增长)。使用这两种方法,我听说很多很多网站()已经消除了几乎所有的自动垃圾邮件


与任何基于验证码的解决方案相比,我使用蜜罐+时间戳的成功率更高,因为我不仅阻止了大多数垃圾邮件发送者,也没有阻止他们。

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

  • 显示蜜罐:无。 如果失败,请运行额外的脚本来收集IP地址,并将其写入第行的deny from上的.htaccess文件中
  • 计算注释字段上的URL数。 如果失败,则仅警告,因为这可能是人为的
  • 测量发帖的时间。 如果少于5秒,显示错误消息,让他们再试一次,因为人类可以用自动填充插件非常快地编写
  • 每天用crontab修剪htaccess文件,使拒绝行不会超过30行(相应地调整)
  • 使用IP地址拒绝访问非常有效,因为机器人一直试图使用相同的IP潜入(如果他们更改了IP,那么我会将新的IP放在htaccess上,这样就不会有问题)。我每天用crontab自动修剪.htaccess文件,这样文件就不会太大。我调整了IP的数量,以阻止相同的机器人与相同的IP将被阻止约一周左右。我注意到,相同的IP被机器人使用了3天,并多次进行攻击


    第一个#1技巧拦截约99%和#2拦截约1%,机器人将不会通过这两个,因此#3可能没有必要。

    大约从2010年起,我在三种形式上使用了蜜罐验证码,直到最近,它一直非常有效,没有任何修改。我们刚刚做了一些改变,我们认为这将阻止大多数垃圾邮件,至少在它们变得更加复杂之前是这样。大致来说,我们的设置方式如下:

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

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

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

    因此,我的经验总结如下:蜜罐的工作原理与最初设想的相当好。(我不记得我是在哪里第一次发现它的,但与十多年前我第一次看到它时非常相似。)加上。我们认为现在对那些过于匆忙的提交施加服务器端限制会更好


    最后,我要提到的是,对于我们来说,像reCaptcha这样的解决方案是不存在的。我们花了大量时间使用谷歌的地图API开发了一个web应用程序,它工作得非常好,直到谷歌在没有警告和过渡建议的情况下更改了他们的API。我们不会和同一个虐待配偶结婚两次

    在我的网站上,很多机器人仍然可以通过reCaptcha:\您还可以在您的网站上进行实施。但这通常是评论垃圾邮件。请记住,reCaptcha和蜜罐不会阻止人类垃圾邮件发送者。akismet很好,但如果可能,我喜欢一种不依赖第三方服务的方式。在做类似的事情时,请小心你的域名。有多个自动表单填充器存在,一些旨在诱饵垃圾邮件机器人的东西也可能诱饵表单填充器。你试试我的表格,你会称我为垃圾邮件发送者——我不知道我的系统中是否有隐藏的“电子邮件”f