PHP防SQL注入

巴扎黑
發布: 2016-11-22 15:43:59
原創
1040 人瀏覽過

 一般性的防注入,只要使用php的 addslashes 函數就可以了。

Php代碼  

$_POST = sql_injection($_POST);     

function sql_injection($content) {     

   if (!get_magic_quotes_gpc()) {     

      if (is_array($content)) {     

        ,    $content[$key] = addslashes($value);     

        }     addslashes($content);     

      }     

   } 

  

Php代碼  

/**

 * 函數名稱:inject_check()    

 * 函數作用:偵測提交的值是不是含有SQL注射的字符,防止注射,保護伺服器安全     返 回 值:回傳偵測結果,ture or false     

 */       

function in ('select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str);    // 進行過濾      代碼  

/**

 * 函數名稱:verify_id()     

 * 函數作用:校驗所提交的ID類別值是否合法    

處理後的ID    

*/       

function verify_id($id=null) {         // 是否為空判斷         

elseif (inject_check($id)) { exit('提交的參數非法!'); }    // 注射判斷         

)($is_yelseif;   / / 數位判斷         

  $id = intval($id);    // 整數化           

}   

Php代碼  


/**

 * 函數名稱:str_check()     

 * 函數作用:將提交的字串進行過濾     

後的字串    

*/   $str ) {         

   if (!get_magic_quotes_gpc()) {    //   addslashes($str);    // 過濾         

   }      

   $str = str_replace("_", "_", $str);    // 把 '_'過濾掉           // 把 '% '過濾掉        

   return $str;          

 }       

 function post_check($post) {         

   if magic_quotes_gpc是否為開啟         

     $post = addslashes($post);    /    }      

   $post = str_replace("_", "_", $post); // 把 '_'過濾掉        

   $post = str_replace("%", "%",     = nl2br($post);    // 回車轉換         

  $post = htmlspecialchars($post);    // html標籤轉換      

 }   

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!