空白提交垃圾邮件bot

时间:2015-05-28 10:20:08

标签: jquery forms captcha spam

我正试图想出一些方法来对抗垃圾邮件机器人,只需用空白条目提交我的表单。

我的表单使用JQuery检查字段是否已填写,并检查电子邮件字段是否已正确填写。然而,这个垃圾邮件机器人正在设法绕过这个(通过禁用JavaScript?)并且能够提交一个完全空白的表单。所以我需要的是一种方法来阻止这一点,但这里的问题是我不能使用任何类型的验证码插件,我在网上等,因为我不能使用PHP,所以我需要客户端验证任何它是我可以用来对抗它然后我的另一个问题是,如果这个垃圾邮件机器人能够禁用JavaScript然后肯定我放入任何类型的措施,例如蜜罐验证码或在页面加载时禁用表单5秒,由于JavaScript被关闭而再次被垃圾邮件机器人绕过所有内容并完成空白提交,因此无法正常工作。

1 个答案:

答案 0 :(得分:0)

好吧,如果你想绕过spambot发布空白条目而不添加captcha插件/图像等。

选项#1:

使用正常的验证码,我们强制用户填写验证码值并在发布表单时在服务器端验证相同但是使用此技巧我们将采用相反的方式。

默认情况下,禁用javascript的所有spambot访问网站。它们通常被编码以填充所有表单字段。

所以你可以做的是在表单中添加一个带有任何名称的隐藏字段,让我们说“ hidden_​​captcha ”。

现在您的服务器端代码就像是,如果填充了该隐藏字段,则该条目由spambot发布,因为普通访问者无法看到您的隐藏字段并提交数据。

Spambot只是在表单中查找字段并提交相同内容。

这样您就不需要添加captcha插件/图像并过滤spambot发布的所有条目。

选项#2:

另一种方法是,添加一个名为“js_fill”的隐藏字段。现在将JS代码放在页面中,生成随机值并填写该字段。

在此之后,您的服务器端检查代码如下所示:

if($_POST['js_fill'] != '' && $_POST['hidden_captcha'] == '') {
  // Valid Entry
} else {
  //Something Wring Here
}

请告诉我这个概念是否清楚或需要更多理解。