Nic*_*ers 49 forms spam-prevention honeypot
我们如何在我们的网站上摆脱这些垃圾邮件?
在某些时候,每个网站都成为垃圾邮件的牺牲品.如何处理它会影响您的客户,大多数解决方案可能会阻止某些人填写您的表单.
这就是蜜罐技术的用武之地.它允许你忽略垃圾邮件而不强迫你的用户填写验证码或跳过其他篮球来填写你的表格.
这篇文章纯粹是为了帮助其他人在他们的网站表单上实现蜜罐陷阱.
自从在我所有客户的网站上实施以下蜜罐以来,我们已成功阻止了99.5%(数千份提交)的所有垃圾邮件.这是不使用"高级"部分中提到的技术,这将很快实施.
Nic*_*ers 95
通过在表单中添加一个只有spambots可以看到的不可见字段,您可以欺骗它们以显示它们是垃圾邮件而不是实际的最终用户.
<input type="checkbox" name="contact_me_by_fax_only" value="1" style="display:none !important" tabindex="-1" autocomplete="off">
Run Code Online (Sandbox Code Playgroud)
这里我们有一个简单的复选框:
在服务器端,我们要检查值是否存在并且值是否为0,如果是,则适当地处理它.这包括记录尝试和所有提交的字段.
在PHP中它可能看起来像这样:
$honeypot = FALSE;
if (!empty($_REQUEST['contact_me_by_fax_only']) && (bool) $_REQUEST['contact_me_by_fax_only'] == TRUE) {
$honeypot = TRUE;
log_spambot($_REQUEST);
# treat as spambot
} else {
# process as normal
}
Run Code Online (Sandbox Code Playgroud)
这是日志的来源.如果您的某个用户最终被标记为垃圾邮件,您的日志将帮助您恢复任何丢失的信息.它还允许您研究在您的网站上运行的任何机器人,如果将来修改它们以规避您的蜜罐.
许多服务允许您通过API或上传列表来报告已知的spambot IP.(例如CloudFlare)请通过报告您找到的所有垃圾邮件和垃圾邮件IP,帮助使互联网变得更安全.
如果你真的需要打击一个更高级的spambot,你可以做一些额外的事情:
Leb*_*Cit 10
一个真正强制非自动完成的建议:通过OR
改变autocomplete="off"autocomplete="nope"autocomplete="false"
由于给定值不是有效值(autocomplete仅为on或的值off),浏览器将停止尝试填充该字段.
有关更多详细信息,请参阅如何关闭表单自动完成.
希望这可以帮助.
SYA :)
我们发现,此处建议的轻微(尽管很简单)变化对我们的联系方式蜜罐的有效性产生了巨大的影响。简而言之,将隐藏字段更改为文本输入,并使该漫游器认为它是密码。像这样:
<input type="text" name="a_password" style="display:none !important" tabindex="-1" autocomplete="off">
Run Code Online (Sandbox Code Playgroud)
您会注意到,此模拟密码输入与复选框示例保持相同的基本准则。是的,文本输入(而不是实际的密码输入)似乎可以正常工作。
这种明显的细微变化导致我们的垃圾邮件数量急剧下降。