我感觉有点尴尬,因为我正在使用 PHP 生成邮件正文而不转义变量。在 HTML 中,我使用 htmlspecialchars() 或类似函数,用于命令行 escapeshellarg(),但用于邮件?例如这样的:
<?php
$usercontent = $_GET['usercontent'];
mail("dummy@nowhere.tld", "My Subject", "My body with $usercontent included");
?>
可能的攻击者可以使用上面的脚本做什么,我如何防止这种攻击?或者是 PHP mail() 保存,为什么?
更新
请参考示例:
- 只有身体受到影响(没有标题!)
- 内容类型是文本/纯文本
- 答案的一些证据会很好
- MTA 是带有“/usr/sbin/sendmail -t -i”的后缀 sendmail