PHP登錄中的防止sql注入方法分析__1_第1頁
PHP登錄中的防止sql注入方法分析__1_第2頁
PHP登錄中的防止sql注入方法分析__1_第3頁
PHP登錄中的防止sql注入方法分析__1_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、PHP登錄中的防止sql注入方法分析_ 防止sql注入這些詳情問題一般是消失在大意程序員或者是新手程序員了,他們未對用戶提交過來的數據進行一些特別過濾從而導致給大家測試一下就攻破了你的數據庫了,下面我來簡潔的一個用戶登錄未進行平安配置可能消失的sql注入方法,下面一起來看看吧。 比如以下一段登錄的代碼: 代碼如下: if($l = mysql_connect(localhost, root, 123) or die(數據庫連接失敗); mysql_select_db(test); mysql_set_charset(utf8); $sql = select * from test where

2、username = $username and password = $password; $res = mysql_query($sql); if(mysql_num_rows($res) header(Location:./home.php); else die(輸入有誤); 留意上面的sql語句,存在很大的平安隱患,假如用法以下萬能密碼和萬能用戶名,那么可以輕松進入頁面: 代碼如下: 1. $sql = select * from test where username = * and password = * or 1 = 1; 很明顯,針對這條sql語句的萬能密碼是: * or 1

3、 = 1 代碼如下: 2. $sql = select * from test where username =* union select * from users/* and password = *; 正斜線* 表示后面的不執(zhí)行,mysql支持union聯(lián)合查詢, 所以挺直查詢出全部數據; 所以針對這條sql語句的萬能用戶名是:* union select * from users/* 但是,此注入只針對代碼中的sql語句,假如 代碼如下: $sql = select * from test where username = $username and password = $passw

4、ord; 上面的注入至少已經不管用了,不過方法是一樣的; 在用法PDO之后,sql注入完全可以被避開,而且在這個快速開發(fā)的時代,框架橫行,已然不用過多考慮sql注入問題了。 下面整理了兩個防止sql注冊函數 代碼如下: /* 過濾全部GET過來變量 */ foreach ($_GET as $get_key=gt;$get_var) if (is_numeric($get_var) $getstrtolower($get_key) = get_int($get_var); else $getstrtolower($get_key) = get_str($get_var); /* 過濾全部POS

5、T過來的變量 */ foreach ($_POST as $post_key=gt;$post_var) if (is_numeric($post_var) $poststrtolower($post_key) = get_int($post_var); else $poststrtolower($post_key) = get_str($post_var); /* 過濾函數 */ /整型過濾函數 function get_int($number) return intval($number); /字符串型過濾函數 function get_str($string) if (!get_magi

6、c_quotes_gpc() return addslashes($string); return $string; 還有一些博客會這樣寫 代碼如下: ?php function post_check($post) if (!get_magic_quotes_gpc() / 推斷magic_quotes_gpc是否為打開 $post = addslashes($post); / 進行magic_quotes_gpc沒有打開的狀況對提交數據的過濾 $post = str_replace(_, _, $post); / 把 _過濾掉 $post = str_replace(%, %, $post); / 把 % 過濾掉 $post = n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論