我感觉有些尴尬,因为我正在使用PHP生成邮件正文时没有转义变量。在HTML中,我使用htmlspecialchars()或类似的函数,在命令行中使用escapeshellarg(),但是在邮件中呢?例如像这样:
<?php
$usercontent = $_GET['usercontent'];
mail("dummy@nowhere.tld", "My Subject", "My body with $usercontent included");
?>
一个可能的攻击者可以用上面的脚本做什么,我该如何保护自己免受这种攻击?或者PHP mail()是否安全?请参考以下示例:只影响正文(没有标题!)Content-Type是text/plain;提供一些关于答案的证明将会很好;MTA是一个带有“/usr/sbin/sendmail-t-i”的后缀sendmail。