Php 卫生处理
问题很简单:在使用PHPmailer类时,我应该使用任何类型的消毒吗 我制作了一个简单的发送邮件表单,使用phpmailer类发送电子邮件。目前,我只使用“htmlspecialchars”进行消毒(aldough我读到没有必要这样做,但这些信息不是100%可靠)Php 卫生处理,php,phpmailer,Php,Phpmailer,问题很简单:在使用PHPmailer类时,我应该使用任何类型的消毒吗 我制作了一个简单的发送邮件表单,使用phpmailer类发送电子邮件。目前,我只使用“htmlspecialchars”进行消毒(aldough我读到没有必要这样做,但这些信息不是100%可靠) 我试图在标签之间发送一些js代码,但我不确定是否可以进行其他类型的攻击。我个人不信任任何输入,所以我对所有内容都进行了清理。例如,需要注意的一件事是,您可能正在使用htmlspecialchars,但如果有人使用非英语字符会发生什么?
我试图在标签之间发送一些js代码,但我不确定是否可以进行其他类型的攻击。我个人不信任任何输入,所以我对所有内容都进行了清理。例如,需要注意的一件事是,您可能正在使用htmlspecialchars,但如果有人使用非英语字符会发生什么?您需要使用UTF-8作为参数来定义字符集 这一简单的遗漏(我决不是说您遗漏了它)可能会导致XSS攻击 我投赞成票。它是一个非常有名的安全库,允许您对输入进行比htmlspecialchars更高程度的清理
/0.02在发送到phpMailer之前,您无需对任何内容进行消毒,除非检查输入的电子邮件地址是否有效 数据清理有两个原因:SQL注入和XSS或CSRF(Xross站点脚本或跨站点请求伪造) 在这两种情况下,用户都必须根据输入将某些内容视为输出 然而,您询问邮件类的卫生处理是件好事,因为在理想情况下,没有人会要求这样做。HTML标签?当然你可以发送HTML标签!您可以定义为
text/html
你需要消毒什么?
希望有帮助:)SMTP头插入是一种风险,尤其是从电子邮件的主题行中删除任何控制字符,尤其是换行符。您可能还需要行包装您的电子邮件正文.Tnx以获取建议,但我认为这不会是一个问题,我不会使用SMTP发送邮件(只是通过phpmailer发送简单的php功能。此无需替换html代码,如:e like:script alert('run lola run'))/script实际上是这样。默认情况下,HTMLPurifier不允许使用脚本标记。在允许在筛选器中使用脚本之前,必须设置setTrusted(TRUE)。