另一种防止垃圾邮件的方法
Another spambot prevention method
我知道以前有人问过这个问题,但是我没有在其他地方看到下面的解决方案。
我有一个有很多形式的网站,我正在寻找一种方法,而不需要为每个形式编辑php,以抵御机器人。
我建议使用这个,但是我在想如果有人有任何想法或理由为什么我不应该使用它?
<form method="POST" action="enableJavascript.html">
<!-- I change the action to a page to tell the user
that javascript is required-->
<input name="action" value="contact.php" type="hidden"/>
<!-- and add an input that contains the original action-->
<input name="name"/>
<input name="email"/>
<input type="submit" value="submit"/>
</form>
下面是javascript/jQuery处理发送表单:
$(function() {
$('form').submit(function(e) {
var $this = $(this);
if (e.originalEvent) { // only change the action if the form was
// submitted via user input
e.preventDefault();
$this.attr('action', $('input[name=action]',$this).val());
$this.submit();
}
});
});
我想这将失败,如果机器人是已知的"点击"按钮,但我不知道如果是这种情况?
这真的无法阻止机器人,原因如下:机器人将进入并从表单中抓取字段名,然后制作它们自己的POST请求。他们不会看到,更不用说服从你的JavaScript事件停止。
你应该做的是制作一个AJAX页面,并让表单以这种方式提交它。这使得机器人更难填写和提交,因为没有<form action="page.php">
可以遵循。另一种方法是安装验证码,比如ReCaptcha
相关文章:
- jQuery:使用substr()的另一种方法
- 如何访问对象's成员通过另一种方法填充的方法
- 检查窗口是否为弹出窗口的另一种方法
- 将某些内容写入控制台的另一种方法,然后控制台.log
- 从同一控制器 Angularjs 中的另一种方法访问$scope变量
- 另一种在PageLoad上使对象的定时淡入效果的方法
- 修改 yii.activeForm 是个好主意吗.js如果不是,另一种方法是什么
- 将复选框数组传递到 $_GET 的另一种方法 - 除了方括号
- 指南针/咖啡可以做到这一点吗?另一种方法
- 另一种在javascript中创建随机动态url的方法/阻止wpengine缓存
- 为什么在Lightswitch中堆叠承诺的一种方法有效,而另一种方法则不起作用
- 获取数组 Javascript 的所有整数组合的另一种方法
- Don'我不明白为什么这个JavaScript函数可以用一种方法调用,而不能用另一种方法
- 具有自身内在价值的对象.另一种做getter的方法
- 如何在生成响应后,用另一种方法从ajax请求中获取响应
- 另一种方法是让chrome、IE 8和firefox提交相同的表单
- 正在寻找另一种方法来进行isNaN测试
- 如何使用javascript在另一种方法中访问数组
- 用jquery预处理html的一种方法有效,但为什么另一种方法无效't
- 另一种防止垃圾邮件的方法