在php手冊的郵件功能頁面,有一個用戶註釋說「注意防止標題注入」。php郵件頭注入預防
在我的應用程序中,我使用郵件功能,並且用作函數參數的唯一用戶輸入是電子郵件地址。
我使用正則表達式^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
對電子郵件地址進行初步檢查。
這是否也可以防止頭注入?
感謝,
JRH
在php手冊的郵件功能頁面,有一個用戶註釋說「注意防止標題注入」。php郵件頭注入預防
在我的應用程序中,我使用郵件功能,並且用作函數參數的唯一用戶輸入是電子郵件地址。
我使用正則表達式^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
對電子郵件地址進行初步檢查。
這是否也可以防止頭注入?
感謝,
JRH
有人將要注入是這樣的:
[email protected]
CC:[email protected],[email protected],spam_address3 @域名.com
您不允許\ r \ n這是定義新標題信息所必需的。所以你的應用程序很安全。
只有在用戶提供的東西放入郵件標題內時,標題注入纔是風險。一個典型的例子是使用發佈的電子郵件地址來設置回覆標題。
這是我用:
$email = preg_replace(array("/\r/i","/\n/i", "/%0a/i", "/%0d/i", "/Content-Type:/i", "/bcc:/i", "/to:/i", "/cc:/i", "/Content\-Transfer\-Encoding\:/i", "/Mime\-Version\:/i"), "", $email);