防止sql注入方法

2021-07-09 16:29:13 字數 1182 閱讀 8365

(1)mysql_real_escape_string -- 轉義 sql 語句中使用的字串中的特殊字元,並考慮到連線的當前字符集 

使用方法如下:

$sql

="select count(*) as ctr from users where username

='".

mysql_real_escape_string

($username

)."' and

password='"

.mysql_real_escape_string

($pw

)."' limit 1"

;使用 

mysql_real_escape_string()

作為使用者輸入的包裝器,就可以避免使用者輸入中的任何惡意 sql 注入。

(2) 開啟magic_quotes_gpc來防止sql注入

php.ini中有乙個設定:magic_quotes_gpc = off

這個預設是關閉的,如果它開啟後將自動把使用者提交對sql的查詢進行轉換,

比如把 ' 轉為 \'等,對於防止sql注射有重大作用。

如果magic_quotes_gpc=off,則使用addslashes()函式

(3)自定義函式

function inject_check($sql_str)

function verify_id($id=null) elseif(inject_check($id)) elseif(!is_numeric($id))

$id = intval($id);

return $id;

}function str_check( $str )

$str = str_replace("_", "\_", $str);

$str = str_replace("%", "\%", $str);

return $str;

}function post_check($post)

$post = str_replace("_", "\_", $post);

$post = str_replace("%", "\%", $post);

$post = nl2br($post);

$post = htmlspecialchars($post);

return $post;

}

Node Mysql 防止 sql 注入方法

引數編碼方法有如下三個 mysql.escape param connection.escape param pool.escape param 例如 var userid 1,name test var query connection.query select from users where ...

防止SQL注入的方法

防止sql注入的3個方法 方法一 引數化查詢。缺點 增大資料庫的壓力 string connectionstring 資料庫連線字串 string customerid string empty string companyname string empty string address strin...

防止sql注入漏洞方法

什麼是sql注入?通過構建特殊的輸入作為引數傳入web應用程式,而這些輸入大都是sql語法裡的一些組合 通過執行sql語句進而執行攻擊者所要的操作,其主要原因是程式沒有細緻地過濾使用者輸入的資料,致使非法資料侵入系統 例子 比如在乙個登入介面,要求輸入使用者名稱和密碼,可以這樣輸入實現免帳號登入 使...