【问题标题】:I am continuosly receiving spam from a web form [closed]我不断收到来自网络表单的垃圾邮件[关闭]
【发布时间】:2013-01-26 18:36:27
【问题描述】:

我不断收到来自“联系我们”页面的垃圾邮件。

在所有垃圾邮件中都没有正确的电子邮件,电子邮件地址是这样的:阿姆斯特丹

我已在联系我们表单上应用了 javascript 验证,因此应该没有机会传递无效的电子邮件地址。

黑客是否直接将数据发布到我的 php 文件中?

作为我的表单操作 HTMLFORMresponseFeedback.php 到这个文件。

我听说我们可以通过 curl 将数据发布到任何 phpfile。

我需要应用什么安全措施来禁用这种方法?

这种情况会起作用吗?

if($_SERVER['HTTP_REFRER']=='http://abc.com/contact_us') {

} else {
    // redirect
};

【问题讨论】:

标签: php javascript spam


【解决方案1】:

您使用了 JavaScript,因此不可能传递无效的电子邮件?抱歉,这不是真的。大多数垃圾邮件机器人没有 JS 引擎,因此您的验证是无关紧要的。

您应该考虑实现以下内容:

  • 服务器端电子邮件地址格式验证
  • 查看 CAPTCHA 选项,例如 reCAPTCHA,或验证发件人实际上是人的替代方法。
  • Akismet,识别垃​​圾邮件客户端的好方法。

【讨论】:

  • 谢谢我已经应用了服务器端电子邮件地址验证..它似乎有效..现在看看..
【解决方案2】:

你可以做几件事,包括:

1) 放置一个只有机器人才能看到的虚假字段。然后,如果该字段与表单的其余部分一起提交,您可以忽略它(如果需要,可以禁止它们)。你也可以trap bad bots who follow a hidden link

2) 使用验证码,例如reCAPTCHA

3) 使用要求用户回答诸如 5 + 3 之类的问题的字段。任何人都可以回答,但机器人不知道该怎么做,因为它会根据字段名称自动填充字段。因此,该字段将不正确或丢失,在这种情况下提交将被拒绝。

4) 使用令牌并将其放入会话中,并将其添加到表单中。如果令牌未与表单一起提交或不匹配,则它是自动的,可以忽略。

5) 寻找来自同一 IP 地址的重复提交。如果您的表单不应该收到太多请求,但它可能突然被机器人攻击,您应该考虑暂时阻止 IP 地址。

6) 使用Askimet。它非常适合识别垃圾邮件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-18
    • 2021-04-26
    • 1970-01-01
    • 2010-12-25
    • 2012-11-10
    • 2014-05-29
    • 2013-06-30
    • 1970-01-01
    相关资源
    最近更新 更多