【问题标题】:Options For Anti-Spam/Spambots?反垃圾邮件/垃圾邮件机器人的选项?
【发布时间】:2014-05-19 03:03:42
【问题描述】:

作为一名新开发者,我的问题是这样的;在我的投资组合网站的联系表中,有用户名、主题、电子邮件和 cmets 字段。提交前必须填写用户名和cmets。电子邮件必须具有有效的电子邮件地址。到目前为止,我的垃圾邮件为零已经很长时间了。我只有一个垃圾邮件机器人每天用相同的垃圾邮件跟踪我十次。我什至添加了一个强制复选框来验证用户不是机器人。除了验证码,还有其他选择吗?也许以某种方式阻止这个用户?机器人电子邮件地址在我的电子邮件中是不可见的。我不想添加验证码,因为它会破坏我网站的凝聚力,也会让我的用户感到头疼,因为我遇到的没有人喜欢跟踪那张烦人的照片。

www.thesunkenweb.com 是我的参考网站。

感谢大家的帮助!祝大家编码愉快...

【问题讨论】:

    标签: php jquery email bots spam-prevention


    【解决方案1】:

    如果您想阻止那封垃圾邮件,那么在您的服务器端代码中,只需添加一个检查以查看它是否与该邮件匹配。如果是这样,请不要发送电子邮件。

    【讨论】:

    • 谢谢。我已经更新了过滤掉不需要的电子邮件的文件。我会拭目以待。
    【解决方案2】:

    垃圾邮件预防是一场猫捉老鼠的游戏。一些技巧:

    1) 创建一个标有“电子邮件”的字段,其中包含“请勿填写”的文字。通过 CSS 隐藏整个内容。如果有人填写,请忽略他们。 (真正的电子邮件字段应该被称为“年龄”或其他混淆他们的东西。相信我,没有人关心你的 HTML 说什么。)

    2) 创建一个简单的谜题,例如“什么是 1+1?”如果他们弄错了,就会抱怨。从理论上讲,他们可以轻松地修改他们的机器人。但他们不太可能(除非他们特别试图向您的网站发送垃圾邮件)。

    3) 手动(或自动)阻止任何出错的人的 IP(尤其是不止一次)。它们很可能是填表垃圾邮件机器人。

    4) 删除表单的 HTML“操作”和“提交”部分。相反,让它成为一个通过 AJAX 发布表单的 JavaScript 按钮。一些机器人会运行 JavaScript,但很多不会。如果他们确实运行 JS,则只需将多个(隐藏)按钮 POST 到错误的位置。

    5) 禁止使用该特定电子邮件地址的任何 IP 地址。 (见fail2ban

    当您过滤掉机器人时,不要返回 400/500 错误代码。返回 200 和带有错误消息的文本。如果他们理解正确或错误,这对他们来说更难解析。

    【讨论】:

      【解决方案3】:

      创建一个数组,如下所示:

      $blockedEmails = array('@gmail.com','@yahoo.com');
      

      然后在提交时添加 if 语句:

      如果它的电子邮件包含数组中被阻止的电子邮件之一,则拒绝发送,否则接受发送。 您可以为此使用foreach 函数,但我不建议将发送邮件放入该循环中,因为在每封未与其中一封被阻止的电子邮件连接的电子邮件上,它将被发送。

      就像垃圾邮件 = @haha.com,@glagla.com 我的邮件是@boom.com,那么邮件将被发送两次,所以要小心循环;)

      【讨论】:

      • 谢谢。我已经更新了过滤掉不需要的电子邮件的文件。我会拭目以待。
      猜你喜欢
      • 2011-08-03
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多