共計 678 個字符,預計需要花費 2 分鐘才能閱讀完成。
這篇文章給大家分享的是有關什么是 SQL 注入的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
1 . 什么是 sql 注入(Sql injection)?
Sql 注入是一種將 sql 代碼添加到輸入參數中,傳遞到 Sql 服務器解析并執行的一種攻擊手法
2. 怎么產生的?
Web 開發人員無法保證所有的輸入都已經過濾
攻擊者利用發送給 Sql 服務器的輸入數據構造可執行的 Sql 代碼
數據庫未做相應的安全配置
3. 如何尋找 sql 漏洞?
識別 web 應用中所有輸入點
了解哪些類型的請求會觸發異常?(特殊字符”或)
檢測服務器響應中的異常
4. 如何進行 SQL 注入攻擊?
數字注入:
Select * from tablename where id=1 or 1=1;
字符串注入:
Mysql 的注釋特性:
# 與 – 號后面的被注釋掉,無論密碼輸入的是什么,都能正確查詢。請點擊此處輸入圖片描述
5. 如何預防 sql 注入?
嚴格檢查輸入格式:is_numeric(var),tp5 的 validate 驗證,字符串的注入采用正則看是否在 [A-Za-z] 之間
轉義:addslashes(str)、
mysqli_escape_string()函數進行轉義
6.MySQLi 的預編譯機制
參數化綁定
參數化綁定,防止 SQL 注入的又一道屏障。php MySQLi 和 PDO 均提供這樣的功能。比如 MySQLi 可以這樣去查詢:
PDO 的更是方便,比如:
感謝各位的閱讀!關于“什么是 SQL 注入”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!