跟大家介紹php參數過濾及php資料過濾,包含php提交資料過濾的基本原則,php簡單的資料過濾
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("<a href='test'>Test</a>", ENT_QUOTES);
strip_tags($text,);
5)對於相關函數的過濾,就像先前的include(),unlink,fopen()等等,只要你把你所要執行操作的變數指定好或對相關字元過濾嚴密