MySQL函数过滤

php

浏览数:394

2019-1-13


SQL过滤函数

function filterValue($data, $filterKeyword=false){
    if(is_numeric($data)){
        return $data;
    }else{
        $data = addslashes($data);
        if(get_magic_quotes_gpc()){
            $data = trimslashes($data);
        }
        $data = str_replace('_', '\_', $data);
        $data = str_replace('%', '\%', $data);
        $data = str_replace('*', '\*', $data);
        $data = nl2br($data);
        $data = trim($data);
        if($filterKeyword){//进行严格的敏感词替换
            $data = str_ireplace('select', 'select', $data);
            $data = str_ireplace('join', 'join', $data);
            $data = str_ireplace('union', 'union', $data);
            $data = str_ireplace('where', 'where', $data);
            $data = str_ireplace('insert', 'insert', $data);
            $data = str_ireplace('delete', 'delete', $data);
            $data = str_ireplace('update', 'update', $data);
            $data = str_ireplace('like', 'like', $data);
            $data = str_ireplace('drop', 'drop', $data);
            $data = str_ireplace('create', 'create', $data);
            $data = str_ireplace('modify', 'modify', $data);
            $data = str_ireplace('rename', 'rename', $data);
            $data = str_ireplace('alter', 'alter', $data);
            $data = str_ireplace('cast', 'cas', $data);
            $data = str_ireplace('outfile', 'outfile', $data);
            $data = str_ireplace('load_file', 'load_file', $data);
        }
        return $data;
    }
}