How do we get rid of these spambots on our site?
每个网站都会成为受害者spambots在某一点。您的处理方式会影响您的客户,并且大多数解决方案可能会阻止某些人填写您的表格。
这就是蜜罐技术的用武之地。它允许您忽略垃圾邮件机器人,而无需强迫您的用户填写验证码或跳过其他环节来填写您的表单。
这篇文章纯粹是为了帮助其他人在他们的网站表单上实现蜜罐陷阱。
Update:
自从在我客户的所有网站上实施以下蜜罐以来,我们已成功阻止99.5%(数以千计的提交)我们所有的垃圾邮件。这没有使用“高级”部分中提到的技术,该部分将很快实现。
Concept
通过在表单中添加一个只有垃圾邮件机器人才能看到的不可见字段,您可以欺骗他们,让他们知道自己是垃圾邮件机器人,而不是真正的最终用户。
HTML
<input type="checkbox" name="contact_me_by_fax_only" value="1" style="display:none !important" tabindex="-1" autocomplete="off">
这里我们有一个简单的复选框:
- 用 CSS 隐藏。
- 有一个不起眼但明显是假的名字。
- 具有相当于 0 的默认值。
- 无法自动填写
- Can't be navigated to via the Tab key. (See tabindex)
服务器端
在服务器端,我们要检查该值是否存在并且是否具有非 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
}
Fallback
这就是日志的用武之地。如果您的某个用户最终被标记为垃圾邮件,您的日志将帮助您恢复任何丢失的信息。它还允许您研究在您网站上运行的任何机器人,如果它们将来被修改以绕过您的蜜罐。
报告
许多服务允许您通过 API 或上传列表来报告已知的垃圾邮件机器人 IP。 (例如云耀光) 请报告您发现的所有垃圾邮件机器人和垃圾邮件 IP,帮助使互联网变得更安全。
Advanced
如果您确实需要打击更高级的垃圾邮件机器人,您还可以执行一些其他操作:
- 纯粹用 JS 而不是纯 CSS 隐藏蜜罐字段
- 使用您实际未使用的真实表单输入名称。 (例如“电话”或“网站”)
- 在蜜罐算法中包含表单验证。 (大多数最终用户只会弄错 1 或 2 个字段;垃圾邮件机器人通常会弄错大部分字段)
- 使用 CloudFlare 等自动阻止已知垃圾邮件 IP 的服务
- 设置表单超时,并防止即时发布。 (页面加载 3 秒内提交的表单通常是垃圾邮件)
- 防止任何 IP 每秒发布一次以上。
- 欲了解更多想法,请看这里:如何创建“核”蜜罐来捕获垃圾邮件发送者
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)