Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用隐藏字段防止通过表单提交垃圾邮件_Jquery_Forms_Spam - Fatal编程技术网

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并绕过这种保护。如果它减少垃圾邮件,它可能有什么缺点?我认为克劳迪奥·雷迪没有意识到机器人很少做机器人能做的一切。有这么多低垂的果实,如果你设法把自己的果实往上推一英寸左右,你就可以自由了。不过表单不使用取消按钮。如果我不想提交,我就离开这个页面好吧,你可以简单地隐藏提交按钮并在网站上放置一个
元素……验证码不一定会阻止表单的复制和精简版本提交表单。