PHP程式中的sql語句防止POST資料注入問題

2021-09-20 23:50:39 字數 1123 閱讀 7350

<?php

/*本例項模仿使用者登入時查詢資料庫的場景

$sql="select * from user where username= and userpass=".md5($_post['userpass']);

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

本函式將 unescaped_string 中的特殊字元轉義,並計及連線的當前字符集,因此可以安全用於 mysql_query()。 

sprintf() 函式把格式化的字串寫入乙個變數中。

sprintf(format,arg1,arg2,arg++)

引數 format 是轉換的格式,以百分比符號 ("%") 開始到轉換字元結束。下面的可能的 format 值:

%% - 返回百分比符號

%b - 二進位制數

%c - 依照 ascii 值的字元

%d - 帶符號十進位制數

%e - 可續計數法(比如 1.5e+3)

%u - 無符號十進位制數

%f - 浮點數(local settings aware)

%f - 浮點數(not local settings aware)

%o - 八進位制數

%s - 字串

%x - 十六進製制數(小寫字母)

%x - 十六進製制數(大寫字母)

*/$sql="select * from user where username=".mysql_real_escape_string($_post['username'])." and userpass=".md5(mysql_real_escape_string($_post['userpass']));

$sql=sprintf("select * from user where username='%s' and userpass='%s'",mysql_real_escape_string($_post['username']),md5(mysql_real_escape_string($_post['userpass']));

?>

php中如何防止sql注入

1.什麼時候最易受到sql注入攻擊 當應用程式使用輸入內容來構造動態sql語句,以訪問資料庫時會發生sql注入攻擊 2.如何防止sql注入 a.永遠不要相信使用者的輸入,對使用者輸入進行校驗,可以通過正規表示式,或限制長度,對單引號和 進行轉換 不建議使用 user htmlspecialchars...

PHP中查詢sql語句

1 sql查詢語句 描述 表示去資料庫中指定的表內根據條件查詢指定的內容。語法 sql select 資訊 from 哪張表 where 查詢條件 說明 資訊 有兩種寫法 一是 寫 星號,代表查詢所有字段對應的資訊 sql select from friendslist where 1 二是寫指定字...

PHP中該怎樣防止SQL注入?

如果使用者輸入的資料在未經處理的情況下插入到一條sql查詢語句,那麼應用將很可能遭受到sql注入攻擊,正如下面的例子 1 2 3 unsafe variable post user input mysql query insert into table column values unsafe va...