安全的php电子邮件脚本

时间:2012-03-07 17:27:32

标签: php email

我想使用php脚本从网站上的html文件发送电子邮件。 这个php脚本是否足够安全,可以抵御黑客攻击和垃圾邮件?

<?php 

$to = "emailto@site.com";
$subject = "Sent from site";

$email = $_POST['emailFrom'];
$message = $_POST['message'];

$email   = filter_var($email , FILTER_SANITIZE_EMAIL);
$message = filter_var($message , FILTER_SANITIZE_EMAIL);

$message = $email . $message;

mail($to, $subject, $message, "From: webpage@site.com");
?>

1 个答案:

答案 0 :(得分:1)

FILTER_SANITIZE_EMAIL从字符串中删除非法电子邮件地址字符;因此,这不是电子邮件内容的最佳选择(无论它对电子邮件地址有用)。虽然删除HTML特殊字符在防止XSS攻击时非常有用,但值得注意的是,有合理的理由发布&lt;和&gt;在消息中(即现在)。因此,最好将这些字符转换为其html实体。


&LT;将成为&amp; lt;
和&gt;会成为&amp; gt;

因此,为了将html字符更改为其实体,请替换:
$message = filter_var($message , FILTER_SANITIZE_EMAIL);
$message = htmlspecialchars($message);
除此之外看起来不错;但请记住,在涉及数据库的情况下,还应添加数据库清理。