【发布时间】:2013-02-25 12:41:52
【问题描述】:
我正在尝试找出一种防止机器人提交我的表单的好方法,同时保持流程简单。我已经阅读了几个很棒的想法,但我考虑在提交表单时添加一个确认选项。用户点击提交,会弹出 Javascript 确认提示,需要用户交互。
这会阻止机器人,还是机器人可以很容易地解决这个问题?下面是演示我的想法的代码和 JSFIddle:
$('button').click(function () {
if(Confirm()) {
alert('Form submitted');
/* perform a $.post() to php */
}
else {
alert('Form not submitted');
}
});
function Confirm() {
var _question = confirm('Are you sure about this?');
var _response = (_question) ? true : false;
return _response;
}
【问题讨论】:
-
如果机器人可以直接与服务器对话,那么 JavaScript 就无关紧要了——谁说它的行为就像人类一样?有隐藏字段、蜜罐隐藏字段、验证码等。但如果有人真的想向您的网站发送垃圾邮件,他们只会定制机器人(而且我确信不乏复杂的机器人垃圾邮件工具或可利用的低工资差异)。真正防止垃圾邮件的唯一方法是要求身份验证 - 以及处理垃圾邮件发送者的方法,例如阻止或限制帐户。
-
在表单中使用验证码
-
悬停时启用按钮,
标签: javascript jquery forms security spam