SQL注入,就是透過把SQL指令插入Web表單遞交或輸入網域或頁面請求的查詢字串,最後達到欺騙伺服器執行惡意的SQL指令,例如先前的許多影視網站洩漏VIP會員密碼大多就是透過WEB表單遞交查詢字元暴出的,這類表單特別容易受到SQL注入式攻擊.
#當應用程式使用輸入內容來建構動態sql語句以存取資料庫時,會發生sql注入攻擊。如果程式碼使用預存程序,而這些預存程序會作為包含未篩選的使用者輸入的字串來傳遞,也會發生sql注入。
sql注入可能導致攻擊者使用應用程式登陸在資料庫中執行命令。如果應用程式使用特權過高的帳戶連接到資料庫,這種問題會變得很嚴重。在某些表單中,使用者輸入的內容直接用來建構動態sql指令,或作為預存程序的輸入參數,這些表單特別容易受到sql注入的攻擊。而許多網站程式在編寫時,沒有對使用者輸入的合法性進行判斷或程式中本身的變數處理不當,使應用程式存在安全隱患。這樣,使用者就可以提交一段資料庫查詢的程式碼, 根據程式回傳的結果,得到一些敏感的資訊或控制整個伺服器,於是sql注入就發生了。
應用程式的異常訊息應該給出盡可能少的提示,最好使用自訂的錯誤訊息對原始錯誤訊息進行包裝。
相關教學:SQL影片教學
#以上是web安全之如何防止SQL注入的詳細內容。更多資訊請關注PHP中文網其他相關文章!