如何阻止僵尸程序和垃圾邮件提交评论?

时间:2012-10-31 13:03:06

标签: php javascript bots

目前

  1. 我正在使用验证码图片
  2. 我创建了文本字段并使用javascript隐藏它。我希望它的值在服务器端是空的,因为机器人应该填充表单上的所有字段。如果值不为空,则不会处理注释。
  3. 我还使用时间戳来检查提交评论所花费的时间。我想如果评论是在15秒内提交的,它来自机器人,所以我也停止处理评论。
  4. 但我还是无法控制机器人提交我的评论表单。 请帮助我现在该怎么做?

5 个答案:

答案 0 :(得分:2)

添加一个带有误导性ID /名称的隐藏字段

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

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

答案 1 :(得分:0)

  1. 对评论中的所有链接使用不跟随。这不会阻止垃圾邮件,但它会消除垃圾邮件的大部分动机。 (see here how it works
  2. 要求用户身份验证才能发表评论。
  3. 使用非描述性表单元素(不要命名 div“评论”)。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

为什么不实施Akismet并让他们为您处理?他们有一个记录良好的API,成千上万的人依赖它来在Wordpress博客上预防垃圾邮件。我在妻子的博客上使用Akismet,可能在3年内没有看到垃圾评论。

答案 4 :(得分:-1)

尝试创建独特的验证码以停止任何标准机器人(但如果有人想要准确地发送垃圾邮件,则无法使用)。

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