php注冊(cè)代碼菜鳥php安全mailPHPE-mail注入方法對(duì)輸入進(jìn)行驗(yàn)證菜鳥學(xué)php之smarty入門(組圖)
2022-06-11
php 安全郵件
PHP 電子郵件注入
首先看上一章的PHP代碼:
菜鳥教程(runoob.com)
????Email:
????Subject:
????Message:
????
????
????";
}
?>
上述代碼的問(wèn)題在于,未經(jīng)授權(quán)的用戶可以通過(guò)輸入表單將數(shù)據(jù)插入到電子郵件的標(biāo)題中。
如果用戶在表單的輸入框中將以下文本添加到電子郵件中會(huì)發(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)擊提交按鈕時(shí),這封郵件將被發(fā)送到以上所有地址!
PHP 防止電子郵件注入
防止電子郵件注入的最佳方法是驗(yàn)證輸入。
下面的代碼與上一章的代碼類似php注冊(cè)代碼菜鳥,但這里我們添加了一個(gè)輸入驗(yàn)證器php注冊(cè)代碼菜鳥,用于檢測(cè)表單中的字段:
菜鳥教程(runoob.com)
????Email:
????Subject:
????Message:
????
????
????";
}
?>
在上面的代碼中,我們使用了一個(gè) PHP 過(guò)濾器來(lái)驗(yàn)證輸入: