防止联系表中的垃圾邮件

prevent spam messages in a contact form

我想知道我是否采取了正确的方法,因为垃圾邮件仍在通过。我目前有标准的 javascript 验证,它会检查 google 验证码和必填字段之类的东西,但我还有一个在服务器端检查的隐藏字段。下面的字段被检查是否已填写并且不会提交。

<input type="hidden" value="" name="contact_form">

我做了一些研究,相信机器人现在开始读取 hidden 和 display:none; 等字段。一个好的方法是为用户将字段移出屏幕吗?任何建议都会很棒。

Google验证码(我不是机器人)

我在我的网站上使用它并且再也没有遇到过机器人问题!

它可以工作,但如果机器人创建者可以看到您的网站,他们就可以看到该输入并修改机器人。

我也认为reCaptcha是最好的选择。