我已經閱讀了很多關於過濾用戶輸入的文章,但大多數時候答案是,這取決於你在做什麼。下面是我在做什麼:過濾用戶輸入
function clean($field, $link)
{
return mysql_real_escape_string($field, $link);
}
通過將顯示後面的HTML/PHP頁面或在表單提交的數據:
通過,將在MySQL查詢使用的形式提交的數據電子郵件:從數據庫
function output_html($value)
{
return stripslashes(htmlspecialchars($value));
}
數據顯示:
function output_db($value)
{
return stripslashes($value);
}
這是足以讓我ñ電火工品?有什麼我不考慮?
謝謝!
你問的應用程序的安全性,即SQL注入? – 2011-05-11 15:42:54
@ robert-harvey SQL注入,並通過JS等將代碼添加到我的頁面 – NightHawk 2011-05-11 15:47:30
'output_db'表明你做錯了。如果您正確地轉義了您的內容,並且沒有啓用superflous magic_quotes,那麼在數據庫查詢之後不需要stripslashes()。 http://php.net/manual/en/security.magicquotes.disabling.php – mario 2011-05-11 16:16:34