使用隐藏字段阻止通过表单提交垃圾邮件

时间:2012-05-23 15:53:20

标签: jquery forms spam

我的老板讨厌验证码,所以即使他们工作也是如此。相反,她建议使用隐藏字段,以便在[机器人]填写时不应提交表单。这种方法有缺点吗?

2 个答案:

答案 0 :(得分:3)

您描述的方法通常称为honeypot。虽然有些网站过去取得了成功,但结果会因垃圾邮件的价值而有所不同。此外,随着蜜罐越来越广泛采用,垃圾邮件发送者正在使用更智能的软件来绕过这些类型的陷阱。我建议你看看这个proof-of-work service,它可以让你使用更好的机器人战斗技术,这些技术对你的用户来说仍然是不可见的。也就是说,对于具有严重安全隐患的内容(例如忘记密码),我强烈建议您使用CAPTCHA。

答案 1 :(得分:0)

您可以通过交换提交按钮和取消按钮的功能来欺骗任何机器人:

$('form').submit(function(e){
    e.preventDefault();
    // remove user values
});
$('button').click(function(e){
    e.preventDefault();
    var data = $('form').serializeArray();
    data['human'] = true; // hidden value
    $.post('example.com', data);
});