How do we get rid of these spambots on our site?
在某些时候,每个网站都成为spambots的受害者。如何处理它会影响您的客户,大多数解决方案可能会阻止某些人填写您的表单。
这就是蜜罐技术的用武之地。它允许你忽略垃圾邮件而不强迫你的用户填写验证码或跳过其他篮球来填写你的表格。
这篇文章纯粹是为了帮助其他人在他们的网站表单上实现蜜罐陷阱。
自从在我所有客户的网站上实施以下蜜罐以来,我们已成功阻止了99.5%(数千份提交)的所有垃圾邮件。这是不使用“高级”部分中提到的技术,这将很快实施。
通过在表单中添加一个只有spambots可以看到的不可见字段,您可以诱骗它们显示它们是垃圾邮件而不是实际的最终用户。
<input type="checkbox" name="contact_me_by_fax_only" value="1" style="display:none !important" tabindex="-1" autocomplete="off">
这里我们有一个简单的复选框:
在服务器端,我们要检查值是否存在并且值是否为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
}
这是日志的来源。如果您的某个用户最终被标记为垃圾邮件,您的日志将帮助您恢复任何丢失的信息。它还允许您研究在您的网站上运行的任何机器人,如果将来修改它们以规避您的蜜罐。
许多服务允许您通过API或上传列表来报告已知的spambot IP。 (例如CloudFlare)请通过报告您找到的所有垃圾邮件和垃圾邮件IP,帮助使互联网成为更安全的地方。
如果你真的需要打击一个更高级的spambot,你可以做一些额外的事情:
一个真正强制非自动完成的建议:
由autocomplete="off"
或autocomplete="nope"
改变autocomplete="false"
由于给定值不是有效值(autocomplete
的值仅为on
或off
),浏览器将停止尝试填充该字段。
有关详细信息,请访问How to Turn Off Form Autocompletion。
希望这可以帮助。
她:)
我们发现这里的建议略有(但很简单)变化,使我们的联系表格蜜罐的有效性产生了巨大的差异。简而言之,将隐藏字段更改为文本输入,并使机器人认为它是密码。像这样的东西:
<input type="text" name="a_password" style="display:none !important" tabindex="-1" autocomplete="off">
您会注意到,此模拟密码输入与复选框示例保持相同的基本准则。是的,文本输入(而不是实际的密码输入)似乎工作正常。
这一显然是微不足道的变化导致我们的垃圾邮件大幅下降。