1. 程式人生 > >PHP安全過濾使用者輸入

PHP安全過濾使用者輸入


    /**
     * 安全過濾函式
     */
    function public_safe_replace($string)
    {
        $string = str_replace('%20','',$string);
        $string = str_replace('%27','',$string);
        $string = str_replace('%2527','',$string);
        $string = str_replace('*','',$string);
        $string = str_replace('"','"',$string);
        $string = str_replace("'",'',$string);
        $string = str_replace('"','',$string);
        $string = str_replace(';','',$string);
        $string = str_replace('<','<',$string);
        $string = str_replace('>','>',$string);
        $string = str_replace("{",'',$string);
        $string = str_replace('}','',$string);
        return $string;
    }
    /**
    *  重寫addslashes函式,增加安全替換
    */
    function my_addslashes($str)
    {
        $str = public_safe_replace($str);
        $str = addslashes($str);
        return $str;
    }
    /**
     * 遞迴方式的對變數中的特殊字元進行轉義
     */
    function addslashes_deep($value)
    {
        if (empty($value)){
            return $value;
        }
        else{
            return is_array($value) ? addslashes_deep($value) : my_addslashes($value);
        }
    }