当前位置:首页 > PHP教程 > php函数 > 列表

sql 注入字符的检测函数

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-23 14:53:56 浏览: 评论:0 

自己写的一款sql注入检测函数,可以有效的检测用户post,get过来的参考进行过滤,有需要的朋友参考一下,代码如下:

  1. <?php 
  2. /*sql 注入 字符的检测 
  3. * 在所有用户输入的数据,post传参, get传参 都需要检测下   
  4. * 如果有匹配到关键字 则 返回该关键字  否则返回false 
  5. * 这个和敏感字符的检测不是一样的 
  6. */ 
  7. function Filter_SQL($strData)  
  8. { 
  9.  $strFilter=$blnFlag=$arrayFilter=''; 
  10.  
  11.  $strFilter="'|and|(|)|exec|insert|select|delete|update|count|*|%27|chr|mid|master|truncate|char|declare|union|or"; //需要过滤的字符,可以自己添,"|"是分隔符  
  12.  $blnFlag=false;   //过滤标志,如果产生过滤,那么就是真 
  13.  
  14.  $arr=explode("|",$strFilter);  
  15.  $str=""; 
  16.  
  17.  foreach($arr as $row) 
  18.  { 
  19.   $str.=preg_quote($row)."|"; 
  20.  }  
  21.  
  22.  $str=trim($str,"|");  
  23.  
  24.  if(preg_match('/'.$str.'/i',$strData,$word)) 
  25.  {//开源代码phpfensi.com 
  26.   return $word[0];  
  27.  } 
  28.  
  29.  return false; 
  30. } 
  31.  
  32. /* 
  33. 测试 
  34. $string="fasdf union "; 
  35. echo Filter_SQL($string); 
  36. */ 
  37.  
  38. ?> 

Tags: sql 注入 php检测函数

分享到: