【发布时间】:2012-06-25 09:14:30
【问题描述】:
最近我们发现有人从我们的服务器发送了未经请求的电子邮件。这导致服务器被列入黑名单。我认为这是黑客使用未正确转义数据的表单,还是其他原因?
我们有许多网站都有自己的“联系我们”类型的表单。我正在检查所有表格并确保帖子数据被转义。我发现一个表单将 POST 数据添加到消息中而没有先验证它。我刚刚在发送电子邮件之前添加了一张支票。您认为以下内容是否足够,或者在通过 filter_var 运行电子邮件帖子值之前将其转义是否更好?
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$message = $email." says hello";
$headers = "From: me@example.com";
mail('to@example.com', 'Subject', $message, $headers);
}
我是否应该检查传输日志中是否存在标头注入攻击/其他攻击,如果需要,我会寻找什么?
【问题讨论】:
-
我不太明白你的问题,所以你有一个免费的表格,任何人都可以从任何发件人向任何收件人发送任何消息?或者您有“联系我们”表格?或者您担心有人可以访问您的服务器?
-
您的 SMTP 服务器有可能是一个开放中继(如果有的话)。 Check
-
@AdnanShammout 很抱歉不清楚。不,我们没有免费表格,我们有许多网站都有自己的“联系我们”类型的表格。
-
@AlvinWong 感谢您的链接,它说邮件服务器不是开放中继
-
其实我不认为一定是PHP导致了这个问题。您可以查看 [CBL](cbl.abuseat.org/lookup.cgi),如果您在此处列出,它会告诉您问题所在。
标签: email validation email-validation php