检查电子邮件标头注入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查电子邮件标头注入相关的知识,希望对你有一定的参考价值。

  1. public function InjectionSafe($TestString, $RemoveLinks = false){
  2. $regex = '/^to+(?=:)|^content-type:|^cc:|^bcc:|^from:|^subject:|^mime-version:|^content-transfer-encoding:/im';
  3.  
  4. // Don't allow any of these strings in here
  5. if(0 < preg_match($regex, $TestString)){
  6. // Illegal characters
  7. return false;
  8. }
  9. else{
  10. if(true === $RemoveLinks)
  11. {
  12. $regex2 = '/http://|https://|href=|mailto:/i';
  13. if(0 < preg_match($regex2, $TestString))
  14. {
  15. // Illegal characters
  16. return false;
  17. }
  18. }
  19.  
  20. // No nasties found, we cool
  21. return true;
  22. }
  23. }

以上是关于检查电子邮件标头注入的主要内容,如果未能解决你的问题,请参考以下文章

在电子邮件中注入 PHP 以添加标题?

这个 mail() 函数对标头注入安全吗?

这些电子邮件标头是不是符合 RFC-2047 标准?

在线 SpamAssassin 评估/RFC 一致性检查 [关闭]

如何对 MIME 消息中 Content-Disposition 标头的文件名参数值进行编码?

电子邮件标头中的 -- 是啥?