溫馨提示×

php請求數據如何防sql注入

小新
176
2021-01-12 19:30:57
欄目: 云計算

php請求數據如何防sql注入

php請求數據防sql注入的方法:

1.mysql_real_escape_string,轉義sql語句中使用字符串中的特殊字符

2.使用addslashes()函數將php.ini中的“magic_quotes_gpc = Off”這個設置打開,例如:

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

='".mysql_real_escape_string($username)."' and

password='". mysql_real_escape_string($pw)."' limit 1";

3.可自定義函數進行防止,例如:

/**

* 防止sql注入自定義方法一

* @param: mixed $value 參數值

*/ function check_param($value=null) {# select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile$str = 'select|insert|and|or|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile';

if(!$value) {exit('沒有參數!');}elseif(eregi($str, $value)) {exit('參數非法!');}return true;}

/**

* 防止sql注入自定義方法二

* @param: mixed $value 參數值

*/function str_check( $value ) {if(!get_magic_quotes_gpc()) {// 進行過濾$value = addslashes($value);

}

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

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

return $value;}

/**

* 防止sql注入自定義方法三

* @param: mixed $value 參數值

*/

function post_check($value) {if(!get_magic_quotes_gpc()) {

// 進行過濾 $value = addslashes($value);

}$value = str_replace("_", "\_", $value);

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

$value = nl2br($value);

$value = htmlspecialchars($value);

return $value;}

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女