我聽說過PHP表單被濫用來從表單應該發送的人發送電子郵件。這是一個實際的問題,如果是這樣,它如何解決?是否類似於防止SQL注入?保護PHP電子郵件表格免受注入?
1
A
回答
2
你說的是email injection安全漏洞。舉例來說,如果你傳遞自定義標頭的mail()
功能,如下面的代碼示例,你是脆弱的:
<?php
$additional_headers = "Reply-To: {$_GET['user_email']}";
mail($to, $subject, $message, $additional_headers);
?>
認爲這是一個惡意用戶通過不僅是他的電子郵件,而且還附加頭這樣:
<?php
//$_GET['user_email'] = "[email protected]";// this is what you expect
// this is what you're getting actually
$_GET['user_email'] = "[email protected]\r\nBcc: [email protected], ...";
?>
那麼惡意用戶會從你的服務器在你的名字送他的所謂垃圾纏身的消息抄送給幾乎無數的用戶列表。人們甚至可以用他自己的這種方式完全替代你的消息,通過添加某些其他安全的MIME頭文件。你只能想象這會帶來什麼後果!
解決方案很簡單:不要信任您從用戶處收到的任何內容,並過濾/驗證接收到的數據。
0
如果輸入未正確過濾,任何表單都很脆弱。無論它是電子郵件表單,註冊表單還是由PHP支持。
對於電子郵件表格,請考慮使用PHP的filter functions來正確清理電子郵件。
一個很好的經驗法則是記住FIFO:過濾器輸入,轉義輸出。
超全球植物應該被認爲很髒並且需要過濾(輸入)。輸出轉義取決於上下文:發送電子郵件給某人,插入數據庫,以HTML呈現 - 所有這些都需要不同的輸出過濾技術。
相關問題
- 1. 保護PHP免受MySQL注入
- 2. PHP電子郵件注入防護
- 3. 保護免受惡意的sql注入
- 4. null列保護免受sql注入
- 5. 如何從PHP生成受密碼保護的電子表格?
- 6. PHP郵件類 - 保護電子郵件證書
- 7. 電子郵件激活註冊表格
- 8. 無法批量分配受保護的屬性:電子郵件
- 9. PHP的電子郵件表格不發送電子郵件
- 10. 保護電子表格的格式
- 11. 從受保護的Excel電子表格導出並上傳
- 12. web開發電子郵件保護
- 13. TYPO3:爲保護電子郵件地址
- 14. 垃圾電子郵件保護腳本
- 15. Plone電子郵件收集保護
- 16. 保護聯繫表格電子郵件免遭濫用/垃圾郵件的選項?
- 17. 如何保護PHP免受揹負?
- 18. PHP電子郵件風格
- 19. 如何保護我的電子郵件地址免受垃圾郵件的攻擊
- 20. PHP表格到電子郵件
- 21. PHP MySQLi電子郵件表格
- 22. php電子郵件表格問題
- 23. PHP的電子郵件聯繫表格
- 24. PHP電子郵件表格CC
- 25. php電子郵件表格功能
- 26. 保護批量電子郵件的PHP腳本文件
- 27. PHP電子郵件表格謝謝注意
- 28. 網站登錄會保護網站免受SQL注入嗎?
- 29. 如何保護Amazon SimpleDB免受SQL注入?
- 30. Zend_DB/Doctrine保護我免受SQL注入嗎?
挑剔,但FIFO如何:過濾器輸入,逃生輸出。如果它不是FIEO –