-1

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

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

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

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

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

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

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

这种情况会起作用吗?

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

} else {
    // redirect
};
4

2 回答 2

3

You have used JavaScript so that it's impossible to pass an invalid email? Sorry that isn't true. Most spam bots do not have JS engines, and so your validation is irrelevant.

You should look at implementing the following:

  • Server-side email address format validation
  • Look into CAPTCHA options, such as reCAPTCHA, or an alternative method of verifying the sender is actually a human.
  • Akismet, a great way to identify spam clients.
于 2013-01-26T18:38:19.140 回答
2

你可以做几件事,包括:

1)放置一个只有机器人才能看到的假字段。然后,如果该字段与表单的其余部分一起提交,您可以忽略它(如果需要,可以禁止它们)。您还可以捕获跟踪隐藏链接的恶意机器人

2) 使用验证码,如reCAPTCHA

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

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

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

6)使用Askimet。它非常擅长识别垃圾邮件。

于 2013-01-26T18:38:09.633 回答