一聚教程网:一个值得你收藏的教程网站

热门教程

php 防注入与字符反过滤代码

时间:2022-07-02 09:14:48 编辑:袖梨 来源:一聚教程网

//==防注入自动过滤[启用后程序效率低]==========================================================================================
/*
function inject_checks($sql_str){return eregi('select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str);}
foreach ($_REQUEST as $value){if (inject_checks($value)){echo "";exit;}}
*/
//==防注[inject_check($sql_str)]==========================================================================================
function inject_check($sql_str){
if (eregi('select|insert|update|delete|union|into|load_file|outfile', $sql_str)){echo "";exit;}
return $sql_str;
}
//==字符过滤[safe_convert($string)]==============================================================================
function safe_convert($string){ //Words Filter
if(get_magic_quotes_gpc()){ //转义字符 加上反斜线
        $string=htmlspecialchars($string, ENT_QUOTES); //将特殊字元转成HTML字串格式如 "&"转成"&"
        $string=str_replace("<","<",$string); //替换
        $string=str_replace(">",">",$string); //替换
        $string=str_replace("", '\', $string); //替换  
    } else {
        $string=addslashes($string); //转义字符 加上反斜线 //$string=stripslashes($string); //去掉反斜线
        $string=str_replace("\", '\', $string);
    }
    //$string=str_replace("r","
",$string); //换行
    //$string=str_replace("n","",$string); //空格
    $string=str_replace("t","  ",$string); //空格
    $string=str_replace("  ","  ",$string); //空格
    //$string=str_replace('|', '|', $string); //替换 同分类系统有冲突
    $string=str_replace("&#96;","`",$string); //替换
    $string=str_replace("&#92;","\",$string); //替换
    return $string;
}
//==字符反过滤[unsafe_convert($string)]==============================================================================
function unsafe_convert($string){ //Words Filter
    $string=str_replace("\"",""",$string); //替换
    return $string;
}

//==字符过滤[filter($string)]============================================================================================
function filter($string){ //Words Filter
include("Filter.php");//词汇过滤列表
foreach($badwords as $badword){
if(stristr($string,$badword)==true){echo "";exit;}
}
return $string;
}

热门栏目