如何防止SQL注入攻擊

如何防止SQL注入攻擊

        SQL注入攻擊(SQL Injection),是攻擊者在表單中提交精心構造的sql語句,改動原來的sql語句,如果web程序沒有對提交的數據經過檢查,那麼就會造成sql注入攻擊。

SQL注入攻擊的一般步驟:

(1) 攻擊者訪問有SQL注入漏洞的站點,尋找注入點

(2) 攻擊者構造注入語句,注入語句和程序中的sql語句結合生成新的sql語句

(3) 新的sql語句被提交到數據庫中執行處理

(4)數據庫執行了新的sql語句,引發SQL注入攻擊

主要的防範方法:

(1) 嚴格檢查輸入參數的數據類型:例如:運用intval函數將數據轉換成整數;運用floatval或doublebval函數分別轉換單精度和雙精度浮點型參數;運用addslashes函數來將單引號轉換成\’,雙引號轉換成\”,反斜槓轉換成\\,NULL字符加上反斜槓\

(2) 數據入庫時,所有數據做轉義或綁定的操作。

推薦的MySql轉義函數: mysqli_real_escape_string、PDO::quote()


發佈了58 篇原創文章 · 獲贊 10 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章