PHPMailer清理

Som*_*neS 4 php phpmailer

问题很简单:在使用PHPmailer类时我应该使用任何类型的清理吗?

我做了简单的发送邮件表单,使用phpmailer类发送邮件.当然我只使用"htmlspecialchars"进行消毒(虽然我读到没有必要这样做,但这些信息并非100%可靠).

我试图在标签之间发送一些js代码,并且我接受了它的消毒,但我不确定是否可以进行某种类型的攻击.

Kar*_*rma 6

在发送到phpMailer之前,您不需要清理任何内容,除非检查输入的电子邮件地址是否是有效的电子邮件地址.

数据清理有两个原因:SQL注入和XSS或CSRF(Xross Site Scripting或Cross site Request Forgery)在任何一种情况下,用户都必须根据输入看到输出.

但是,你问一下邮件类的清理是好的,因为理想情况下没有人会要求它.HTML标签?当然你可以发送HTML标签!您可以将内容类型定义为text/html

你需要消毒什么?

  1. 附件类型!无论邮件客户端漏洞利用总是在附件中找到.仅允许遵循mime类型:

    image/jpeg','image/pjpeg','image/gif','image/png','application/msword','application/vnd.ms-office','application/vnd.openxmlformats-officedocument.wordprocessingml. document','application/vnd.openxmlformats-officedocument.wordprocessingml.template','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/vnd.openxmlformats-officedocument.presentationml.presentation','application/pdf'

不建议检查文件的扩展名!因为,邮件客户端可能会使用get_file_contents()之类的函数,这些函数只会在浏览器中打开文件,如果它是嵌入了JPEG扩展名的javascript,它仍然会执行!(在IE6/IE7中它确实如此),这也是浏览器工作具有强大的解析机制.内容嗅探

  1. 附件大小

确保您有尺寸限制.

利用可能会或可能不会在邮件中,邮件客户端必须处理它.但是,作为邮件编码器,这些是您应该注意的两件事.

希望有帮助:)