1、php提交資料過濾的基本原則
1)提交變數進資料庫時,我們必須使用addslashes()進行過濾,像我們的注入問題,乙個addslashes()也就搞定了。其實在涉及到變數取值時,intval()函式對字串的過濾也是個不錯的選擇。
2)在php.ini中開啟magic_quotes_gpc和magic_quotes_runtime。magic_quotes_gpc可以把get,post,cookie裡的引號變為斜槓。magic_quotes_runtime對於進出資料庫的資料可以起到格式話的作用。其實,早在以前注入很瘋狂時,這個引數就很流行了。
3)在使用系統函式時,必須使用escapeshellarg(),escapeshellcmd()引數去過濾,這樣你也就可以放心的使用系統函式。
4)對於跨站,strip_tags(),htmlspecialchars()兩個引數都不錯,對於使用者提交的的帶有html和php的標記都將進行轉換。比如尖括號"<"就將轉化為 "<"這樣無害的字元。
$new = htmlspecialchars("test", ent_quotes);
strip_tags($text,);
5)對於相關函式的過濾,就像先前的include(),unlink,fopen()等等,只要你把你所要執行操作的變數指定好或者對相關字元過濾嚴密,我想這樣也就無懈可擊了。
2、php簡單的資料過濾
1)入庫: trim($str),addslashes($str)
2)出庫: stripslashes($str)
3)顯示: htmlspecialchars(nl2br($str))
php對資料進行過濾輸出
為了避免跨站指令碼攻擊 xss等安全問題,yii框架對輸出到檢視層的資料提供了一些方法供我們使用,例如 html encode htmlpurifier process,研究了下yii框架的原始碼,將其抽取出來,作為乙個小組件,記起來,以後可以單獨使用 1 首先是 html encode 是使用ph...
php過濾函式
addcslashes 以 c 語言風格使用反斜線轉義字串中的字元 addslashes 使用反斜線引用字串 strip tags 從字串中去除 html 和 php 標記 stripcslashes 反引用乙個使用 addcslashes 轉義的字串 stripslashes 反引用乙個引用字串 ...
mysql過濾資料 MySQL過濾資料
1.mysql過濾資料 使用where子句 select prod name,prod price from products where prod price 2.50 檢查單個值 select prod name,prod price from products where prod name ...