PHP防XSS 防SQL注入的代碼
作為開發人員時刻要記住一句話,永遠不要相信任何用戶的輸入!很多時候我們的網站會因為我們開發人員寫的代碼不夠嚴謹,而使網站受到攻擊,造成不必要的損失!下面介紹一下如何防止SQL注入!
這里提供了一個函數,用來過濾用戶輸入的內容!使用POST傳值的時候,可以調用這個函數進行過濾!
/*** 過濾參數 * @param string $str 接受的參數 * @return string */ static public function filterWords($str) { $farr = array( "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", "/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is" ); $str = preg_replace($farr,'',$str); return $str; } /** * 過濾接受的參數或者數組,如$_GET,$_POST * @param array|string $arr 接受的參數或者數組 * @return array|string */ static public function filterArr($arr) { if(is_array($arr)){ foreach($arr as $k => $v){ $arr[$k] = self::filterWords($v); } }else{ $arr = self::filterWords($v); } return $arr; }</pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!