【发布时间】:2015-05-29 17:52:34
【问题描述】:
我正试图想出一些方法来对抗只提交带有空白条目的表单的垃圾邮件机器人。
我的表单使用 JQuery 来检查字段是否已填写,并检查电子邮件字段是否已正确填写。然而,这个垃圾邮件机器人正在设法解决这个问题(通过禁用 JavaScript?)并且能够提交一个完全空白的表单。所以我需要一种方法来阻止这种情况,但这里的问题是我不能使用我在网上找到的任何类型的验证码插件等,因为我不能使用 PHP,所以我需要客户端验证任何东西我可以用它来对抗它,但我的另一个问题是,如果这个垃圾邮件机器人能够禁用 JavaScript,那么我肯定会采取任何措施,例如蜜罐验证码或在页面加载时禁用表单 5 秒,无法正常工作,因为 JavaScript 刚刚被关闭,并且这个垃圾邮件机器人再次绕过所有内容并完成了空白提交。
【问题讨论】:
-
答案很简单:您无法通过纯客户端验证与机器人作战。您需要在服务器上进行某种验证,因为通常,您必须假设客户端完全控制浏览器中运行的任何代码,并且它可以选择替换您的任何验证代码在浏览器中拥有自己的自动验证。
-
使用简单的验证码系统,没有图像,就像在 javascript 中生成的两个随机数一样。如果这些数字的总和是正确的,请提交表格。为了防止在禁用 javascript 的情况下提交,只需省略操作 uri 直到填写表单,然后在提交表单之前也通过 javascript 附加操作。无论如何,您必须在服务器端验证所有内容。正确的是做两次验证(前1个,后1个)。