我正在使用PHPMailer发送邮件。
现在,我们都知道需要始终检查用户输入。
但是电子邮件的主题和正文如何处理呢?(我不是指电子邮件地址)
哪些内容需要进行净化以及如何净化?有哪些(主要的)漏洞?
我是否应该像使用HTMLPurifier一样处理它?因为我希望用户能够标记他们的电子邮件。或者我应该使用/编写可以使用的BB-code函数?
更新:
对于邮件正文:
我现在使用具有ent_quotes标志的htmlspecialchars。之后在消息上运行BB-code(jBBCode)解析器。看起来很安全。
对于主题:
我不对主题字段进行任何验证/净化等操作(除了min和max strlen)。
通过一些JavaScript测试,看起来一切都没问题。
现在我可以认为这是安全的吗?(注:该代码没有在电子邮件之外的任何地方打印。)