相关疑难解决方法(0)

为什么我不应该使用PHP的mail()函数?

在使用PHP发送电子邮件时,一般意见是要避开PHP的内置mail()函数并使用库来代替.

我想知道的是使用mail()库或扩展的实际原因和缺陷.例如,通常指定的标头未包含在标准mail()调用中.

php email

30
推荐指数
3
解决办法
9186
查看次数

在邮件正文中引用/转义变量

我感觉有点尴尬,因为我使用PHP生成邮件正文而不会转义变量.在HTML中我使用htmlspecialchars()或类似函数,命令行escapeshellarg(),但对于邮件?例如这样的事情:

<?php
$usercontent = $_GET['usercontent'];
mail("dummy@nowhere.tld", "My Subject", "My body with $usercontent included");
?>
Run Code Online (Sandbox Code Playgroud)

一个可能的攻击者可能会对上面的脚本做什么,我怎么能防止这样的攻击呢?或者是PHP mail()保存,为什么?

更新

请参考示例:

  • 只有身体受到影响(没有标题!)
  • Content-Type是text/plain
  • 答案的一些证据会很好
  • MTA是一个后缀sendmail,带有"/ usr/sbin/sendmail -t -i"

php security email postfix-mta sendmail

12
推荐指数
2
解决办法
1345
查看次数

标签 统计

email ×2

php ×2

postfix-mta ×1

security ×1

sendmail ×1