我在印度的一個非政府組織實習(Seva Mandir,http://sevamandir.org),並試圖解決他們的「訂閱新聞簡報」框。由於員工不是非常複雜,我們的網絡主機不是很好,我決定通過mail()將相關數據發送給出版人員,而不是將其存儲在MySQL數據庫中。消毒稍後將通過電子郵件發送的用戶輸入 - 我應該擔心什麼?
我知道最好把用戶輸入視爲惡意,並且我已經在SO論壇搜索了與轉義用戶數據相關的帖子以發送郵件消息。我知道數據應該逃脫;我應該擔心什麼以及在發送電子郵件之前清理輸入的最佳方式是什麼?
另請注意,組織的網絡主機仍然使用PHP 4,所以我不能只使用filter_var作爲字符串。我是working with them to fix the problem,但現在我不得不使用正則表達式或strip_tags或其他方法。
形成流動:
1.用戶進入主頁上的電子郵件,然後點擊提交
2.用戶輸入姓名,地址,第二頁的詳細信息(壞的可用性,我知道,但我的老闆問我)和點擊「提交」
3.通過$ _POST收集數據並將其發送到出版物編輯器(並可能向訂閱者發送確認)。
我要消毒步驟2中的電子郵件,並在第3步我感謝你的幫助的其他數據,
凱文
我使用此代碼(來自鏈接,對於將來訪問此問題的任何人): function safe($ name){str_ireplace(array(「\ r」,「\ n」,「%0a 「,」%0d「,」Content-Type:「,」bcc:「,」to:「,」cc:「),」「,$ name)); } – 2010-05-01 12:18:25