PHP防XSS 防SQL注入的代碼

這裏提供了一個函數,用來過濾用戶輸入的內容!使用POST傳值的時候,能夠調用這個函數進行過濾!php

    /**
     * 過濾參數
     * @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;
    }
相關文章
相關標籤/搜索