我们如何在我们的网站上摆脱这些垃圾邮件?
在某些时候,每个网站都成为spambots的受害者。如何处理它会影响您的客户,大多数解决方案可能会阻止某些人填写您的表单。
蜜罐技术的用武之地。它可以让你忽略垃圾邮件,而不会强迫你的用户填写验证码或跳过其他篮球来填写你的表格。
这篇文章纯粹是为了帮助其他人在他们的网站表单上实现蜜罐陷阱。
自从在我的所有客户网站上实施以下蜜罐后,我们已成功阻止了所有垃圾邮件的 99.5%(数千次提交)。这是没有使用" advanced"中提到的技术。部分,即将实施。
答案 0 :(得分:82)
通过在表单中添加一个只有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,还可以做一些额外的事情:
答案 1 :(得分:8)
真正强制禁止自动完成的一个建议:
按autocomplete="off"
或autocomplete="nope"
autocomplete="false"
由于给定的值不是有效值(autocomplete
的值仅为on
或off
),因此浏览器将停止尝试填充该字段。
有关详细信息,请How to Turn Off Form Autocompletion。
希望这有帮助。
SYA:)
答案 2 :(得分:3)
我们发现,此处建议的轻微(尽管很简单)变化对我们的联系方式蜜罐的有效性产生了巨大的影响。简而言之,将隐藏字段更改为文本输入,并使该漫游器认为它是密码。像这样:
<input type="text" name="a_password" style="display:none !important" tabindex="-1" autocomplete="off">
您会注意到,此模拟密码输入与复选框示例保持相同的基本准则。是的,文本输入(而不是实际的密码输入)似乎可以正常工作。
这种明显的变化导致我们的垃圾邮件数量急剧下降。