2010-01-07 104 views
0

在php手冊的郵件功能頁面,有一個用戶註釋說「注意防止標題注入」。php郵件頭注入預防

在我的應用程序中,我使用郵件功能,並且用作函數參數的唯一用戶輸入是電子郵件地址。

我使用正則表達式^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$對電子郵件地址進行初步檢查。

這是否也可以防止頭注入?

感謝,
JRH

回答

0

只有在用戶提供的東西放入郵件標題內時,標題注入纔是風險。一個典型的例子是使用發佈的電子郵件地址來設置回覆標題。

這是我用:

$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);