程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> sql 注入 字符的檢測函數

sql 注入 字符的檢測函數

編輯:關於PHP編程

自己寫的一款sql注入檢測函數,可以有效的檢測用戶post,get過來的參考進行過濾,有需要的朋友參考一下。  代碼如下 復制代碼

<?php
/*sql 注入 字符的檢測
* 在所有用戶輸入的數據,post傳參, get傳參 都需要檢測下 
* 如果有匹配到關鍵字 則 返回該關鍵字  否則返回false
* 這個和敏感字符的檢測不是一樣的
*/
function Filter_SQL($strData)
{
 $strFilter=$blnFlag=$arrayFilter='';

 $strFilter="'|and|(|)|exec|insert|select|delete|update|count|*|%27|chr|mid|master|truncate|char|declare|union|or"; //需要過濾的字符,可以自己添,"|"是分隔符
 $blnFlag=false;   //過濾標志,如果產生過濾,那麼就是真
 
 $arr=explode("|",$strFilter); 
 $str="";
 
 foreach($arr as $row)
 {
  $str.=preg_quote($row)."|";
 } 
 
 $str=trim($str,"|"); 
 
 if(preg_match('/'.$str.'/i',$strData,$word))
 {
  return $word[0];
 }
 
 return false;
}

/*
測試
$string="fasdf union ";
echo Filter_SQL($string);
*/

?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved