防sql注入方法

2021-08-07 18:01:13 字數 816 閱讀 5350

一、什麼是sql注入

sql注入是比較常見的網路攻擊方式之一,它不是利用作業系統的bug進行攻擊,而是通過程式設計**的疏漏,通過編寫特定的sql語句,進行資料庫的非法訪問。

二、 sql注入流程

尋找sql注入位置

判斷伺服器型別和後台資料型別

針對不同的伺服器和資料庫特點進行sql注入

三、防sql注入

1、過濾掉一些常見的資料庫操作關鍵字:select ,update,delete,and,*等,或者通過系統函式addslashes()進行過濾

2、在php配置檔案中register_globals = off;設定為關閉狀態

//將註冊全域性變數關閉。比如接受post表單的值使用po

st["

user

"],如

果將re

gist

ergl

obal

s=on

;直接使

用 usee可以接收表單的值。

3、sql書寫時,盡量不要省略小引號和單引號

4、提高資料庫命名技巧,對於一些重要的字段根據程式的特點命名

5、對於常用的方法加以封裝,避免直接暴漏sql語句

6、開啟php安全模式safe_mode=on

7、開啟magic_quotes_gpc來防止sql注入sql注入

它開啟後將自動把使用者提交的sql語句的查詢進行轉換,把轉義為\,這對防止sql注入有重大作用

8、控制錯誤資訊關閉錯誤提示資訊,將錯誤資訊寫到系統日誌。

9、使用mysqli或pdo處理

防sql注入常用方法

sql注入是黑客通過 注入 前端表單 url等 攻擊資料庫的一種手段。簡單的說,可以將資料庫語句區分成編譯前和編譯後兩種狀態,sql注入攻擊資料庫,只對編譯前的sql有作用。舉個栗子 乙個校驗使用者登入的sql語句。select id,name from user where username a ...

防SQL注入

這段 有好處也有壞處,用的時候得小心,搞不好就會跳進錯誤 dimsql injdata sql injdata and exec insert select delete update chr mid master truncate char declare sql inj split sql in...

防SQL注入

1.必須認定使用者輸入的資料都是不安全的 使用者輸入的資料進行過濾處理 if preg match w get username matches else 讓我們看下在沒有過濾特殊字元時,出現的sql情況 設定 name 中插入了我們不需要的sql語句 name qadir delete from ...