6

目前

  1. 我正在使用验证码图片
  2. 我创建了文本字段并使用 javascript 隐藏它。我希望它的值在服务器端为空,因为机器人应该填写表单上的所有字段。如果 value 不为空,则它不会处理评论。
  3. 我还使用时间戳来检查提交评论花了多长时间。我想如果评论是在 15 秒内提交的,它来自机器人,所以我也停止处理评论。

但我仍然无法控制机器人提交我的评论表单。请帮助我现在该怎么办?

4

5 回答 5

4

添加具有误导性 ID/名称的隐藏字段

<input type="hidden" id="Username" name="Username" value=""/>

如果机器人出现并填写您的表单,他们可能会填写隐藏字段,而用户应该无法填写,因此如果隐藏字段有数据,则不允许提交。

于 2012-10-31T13:12:51.573 回答
1

为什么不实施Akismet并让他们为您处理呢?他们有一个有据可查的 API,成千上万的人依靠它来防止 Wordpress 博客上的垃圾邮件。我在我妻子的博客上使用 Akismet 大概 3 年没有看到垃圾评论了。

于 2012-10-31T13:18:05.673 回答
0
  1. 对评论中的所有链接使用no-follow。这不会阻止垃圾邮件,但会消除垃圾邮件的大部分诱因。(看这里它是如何工作的
  2. 需要用户身份验证才能发表评论。
  3. 使用非描述性的表单元素(不要将 div 命名为“comment”)。
于 2012-10-31T13:13:05.813 回答
0

Lyuben Todorov 提出了一个很好的解决方案来防止 BOT 垃圾邮件发送者。但是,如果您仍然有垃圾邮件并且可能是人为垃圾邮件,那么请使用Akismet反垃圾邮件系统。

于 2012-10-31T13:16:42.137 回答
-1

尝试创建独特的验证码来阻止任何标准机器人(但如果有人想准确地让你发送垃圾邮件,它就行不通了)。

另一种方法是通过电话号码添加验证。

于 2012-10-31T13:12:31.730 回答