php注冊代碼菜鳥php安全mailPHPE-mail注入方法對輸入進(jìn)行驗(yàn)證菜鳥學(xué)php之smarty入門(組圖)
2022-06-11
php 安全郵件
PHP 電子郵件注入
首先看上一章的PHP代碼:
菜鳥教程(runoob.com)
????Email:
????Subject:
????Message:
????
????
????";
}
?>
上述代碼的問題在于,未經(jīng)授權(quán)的用戶可以通過輸入表單將數(shù)據(jù)插入到電子郵件的標(biāo)題中。
如果用戶在表單的輸入框中將以下文本添加到電子郵件中會發(fā)生什么?
someone@example.com%0ACc:person2@example.com
%0ABcc:person3@example.com,person3@example.com,
anotherperson4@example.com,person5@example.com
%0ABTo:person6@example.com
像往常一樣小程序開發(fā)小程序開發(fā),mail() 函數(shù)將上面的文本放入郵件標(biāo)題,所以現(xiàn)在標(biāo)題有額外的 Cc:、Bcc: 和 To: 字段。當(dāng)用戶點(diǎn)擊提交按鈕時,這封郵件將被發(fā)送到以上所有地址!
PHP 防止電子郵件注入
防止電子郵件注入的最佳方法是驗(yàn)證輸入。
下面的代碼與上一章的代碼類似php注冊代碼菜鳥,但這里我們添加了一個輸入驗(yàn)證器php注冊代碼菜鳥,用于檢測表單中的字段:
菜鳥教程(runoob.com)
????Email:
????Subject:
????Message:
????
????
????";
}
?>
在上面的代碼中,我們使用了一個 PHP 過濾器來驗(yàn)證輸入: