【发布时间】:2017-05-16 03:12:02
【问题描述】:
我正在使用 PHPMailer 发送电子邮件。
现在,我们都知道我们需要始终检查用户输入。
但是电子邮件的主题和正文呢? (所以我不是指电子邮件地址)
什么需要消毒以及如何消毒? (主要)漏洞是什么?
我应该为此使用 HTMLPurifier 之类的东西吗?因为我希望用户能够标记那里的电子邮件。或者我应该使用/编写一个可以使用的 BB 代码函数吗?
更新:
对于邮件正文:
我现在使用带有 ent_quotes 标志的 htmlspecialchars。在此之后,对消息运行 BB 代码 (jBBCode) 解析器。这个现在看起来很安全。
主题:
我不使用任何验证/消毒/等。 (除了最小和最大 strlen)在主题字段上。
用一些 javascript 测试,但看起来一切正常。
我可以假设现在这是安全的吗? (P.s. 代码不会打印在电子邮件以外的任何地方。)
【问题讨论】:
标签: php email phpmailer html-email sendmail