Jquery 使用隐藏字段防止通过表单提交垃圾邮件
我的老板讨厌验证码,我也讨厌,即使验证码有效。相反,她建议使用一个隐藏字段,这样如果它是由机器人填写的,就不应该提交表格。这种方法有缺点吗?您可以通过交换“提交”按钮和“取消”按钮的功能来欺骗任何机器人:Jquery 使用隐藏字段防止通过表单提交垃圾邮件,jquery,forms,spam,Jquery,Forms,Spam,我的老板讨厌验证码,我也讨厌,即使验证码有效。相反,她建议使用一个隐藏字段,这样如果它是由机器人填写的,就不应该提交表格。这种方法有缺点吗?您可以通过交换“提交”按钮和“取消”按钮的功能来欺骗任何机器人: $('form').submit(function(e){ e.preventDefault(); // remove user values }); $('button').click(function(e){ e.preventDefault(); var
$('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);
});
您描述的方法通常称为。虽然一些网站在过去已经成功地使用了它们,但你的结果会因垃圾邮件的价值而有所不同。此外,随着蜜罐越来越被广泛采用,垃圾邮件发送者正在使用更智能的软件来绕过这些陷阱。我建议你看看这一点,这将允许你使用更好的机器人战斗技术,仍然看不见你的用户。也就是说,对于有严重安全隐患的事情(例如忘记密码),我强烈建议您使用验证码。我认为机器人检测隐藏字段并不是很难,因为他想这样做。这对我一点帮助都没有。这种方法有缺点吗?是的,我不认为机器人很难发现一个隐藏的领域,因为他想这样做。我在回答你的问题。你可以用CSS隐藏输入,然后它就不会隐藏属性,这很容易被机器人读取。或者甚至向CSS隐藏的输入中添加一些值,并用JavaScript将其删除,bot将发送该值,但不会发送给人类。当然,有可能有一个机器人可以理解CSS并绕过这种保护。如果它减少垃圾邮件,它可能有什么缺点?我认为克劳迪奥·雷迪没有意识到机器人很少做机器人能做的一切。有这么多低垂的果实,如果你设法把自己的果实往上推一英寸左右,你就可以自由了。不过表单不使用取消按钮。如果我不想提交,我就离开这个页面好吧,你可以简单地隐藏提交按钮并在网站上放置一个
元素……验证码不一定会阻止表单的复制和精简版本提交表单。