萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 輸入值/表單提交參數過濾有效防止sql注入的方法

輸入值/表單提交參數過濾有效防止sql注入的方法

輸入值/表單提交參數過濾可以有效防止sql注入或非法攻擊,下面為大家介紹些不錯的方法,感興趣的不要錯過

輸入值/表單提交參數過濾,防止sql注入或非法攻擊的方法:  復制代碼 代碼如下: /**  * 過濾sql與php文件操作的關鍵字  * @param string $string  * @return string  * @author zyb <[email protected]>  */  private function filter_keyword( $string ) {  $keyword = 'select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile';  $arr = explode( '|', $keyword );  $result = str_ireplace( $arr, '', $string );  return $result;  }    /**  * 檢查輸入的數字是否合法,合法返回對應id,否則返回false  * @param integer $id  * @return mixed  * @author zyb <[email protected]>  */  protected function check_id( $id ) {  $result = false;  if ( $id !== '' && !is_null( $id ) ) {  $var = $this->filter_keyword( $id ); // 過濾sql與php文件操作的關鍵字  if ( $var !== '' && !is_null( $var ) && is_numeric( $var ) ) {  $result = intval( $var );  }  }  return $result;  }    /**  * 檢查輸入的字符是否合法,合法返回對應id,否則返回false  * @param string $string  * @return mixed  * @author zyb <[email protected]>  */  protected function check_str( $string ) {  $result = false;  $var = $this->filter_keyword( $string ); // 過濾sql與php文件操作的關鍵字  if ( !empty( $var ) ) {  if ( !get_magic_quotes_gpc() ) { // 判斷magic_quotes_gpc是否為打開  $var = addslashes( $string ); // 進行magic_quotes_gpc沒有打開的情況對提交數據的過濾  }  //$var = str_replace( "_", "_", $var ); // 把 '_'過濾掉  $var = str_replace( "%", "%", $var ); // 把 '%'過濾掉  $var = nl2br( $var ); // 回車轉換  $var = htmlspecialchars( $var ); // html標記轉換  $result = $var;  }  return $result;  }   
copyright © 萬盛學電腦網 all rights reserved