美文网首页
防止sql注入的方法

防止sql注入的方法

作者: 随便咯_30ac | 来源:发表于2021-01-18 11:06 被阅读0次
    /**
     * 防止sql注入
     * @param  string  $check_data  要检测的字符
     * @return string  $return      过滤后的字符
     */
    function FilteringSQL($check_data)
    {
        if (empty($check_data)) {
            return $check_data;
        }
    
        $search_pattern = "or\s|;|select|drop|delete|update";
    
        // 删除SQL注入指令
        $filter_ret = preg_replace("/($search_pattern).*$/i", '', $check_data);
    
        // 整数类型或字符串类型的判断
        $ret = preg_replace('/\'|--/', '', $filter_ret);
        if ($filter_ret !== $ret && is_numeric($ret)){
            // 数字的情况下正常
            $return = $ret;
        }else{
            // 字符串的场合
            if($ret === $filter_ret){
                // 没有SQL注入的普通模式
                $return = $filter_ret;
            }else{
                //integer + 字符串的场合
                //SQL注入的值返回零
                $return = 0;
            }
        }
        return $return;
    }
    
    

    相关文章

      网友评论

          本文标题:防止sql注入的方法

          本文链接:https://www.haomeiwen.com/subject/dewtzktx.html