>  기사  >  백엔드 개발  >  php5.3不支持eregi()函数,用preg_match如何转换?求大神指教

php5.3不支持eregi()函数,用preg_match如何转换?求大神指教

WBOY
WBOY원래의
2016-06-13 13:44:03820검색

php5.3不支持eregi()函数,用preg_match怎么转换?求大神指教!
function inject_check($sql_str) {
  $check=eregi('select|insert|update|delete|\'|\\*|\*|\.\.\/|\.\/|union|into|load_file|outfile',$sql_str); // 进行过滤
  if($check){
  echo "输入非法注入内容!";
  exit();
  }else{
  return $sql_str;
  }
}
今天上网找了段防止SQL注入的方法,但是运行后发现eregi()这个函数在5.3版本已经不能使用了,提示了使用过期的函数,所以我就上网找资料,网上评论也是说现在是用preg_match()函数代替eregi()函数,但是我把函数名改成preg_match又不行,似乎参数不对,麻烦知道的教下我,正确的preg_match应该怎么改,谢谢!

------解决方案--------------------

PHP code

preg_match('/select|insert|update|delete|\'|\\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/i',$sql_str);
<br><font color="#e78608">------解决方案--------------------</font><br>
PHP code

function inject_check($sql_str) {
    $check=preg_match('/select|insert|update|delete|\'|\\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/i',$sql_str); // 进行过滤
    if($check){
        echo "输入非法注入内容!";
        exit();
    }else{
        return $sql_str;
    }
} <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.