JDBC防止SQL注入原理
一、基本解釋
1.JDBC(Java DataBase Connection):它是Java用來執行Sql的Java Api;可以為多種關系型數據庫提供統一的訪問接口,他是一組Java編寫的類和接口。
2.statement:它?是 Java 執行數據庫操作的一個重要接口,用于在已經建立數據庫連接的基礎上,向數據庫發送要執行的SQL語句。Statement對象,用于執行不帶參數的簡單SQL語句。
3.preparement:它是從statement上繼承過來了,性能比statement好
4.CallableStatement:它是從statemnet上繼承過來的
二:JDBC防止sql注入原理:
????舉列子,登錄頁面需要使用手機號、密碼進行登錄。手機號、密碼對應數據庫字段為account 、pwd;
???當在頁面上輸入手機號-333333、密碼55555的時候,數據庫使用執行的是 select??*??from??用戶表??where??account = ‘+“手機號”’+‘’??and pwd = ‘+“密碼”’+‘’,當密碼輸入格式為??111;or 1=1時,輸入的所有內容會直接傳入該語句并進行拼接,該查詢語句總是正確,所以密碼是錯誤的也能夠登錄系統。
???使用preparement接口,可以進行預編譯。預編譯時把,輸入框傳入的數據強制轉化為非sql關鍵字的字符串或者其他數據類型,這樣就避免了sql注入。
?
總結
以上是生活随笔為你收集整理的JDBC防止SQL注入原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法探讨——再议经典算法问题:求最大子序
- 下一篇: 葫芦书笔记----循环神经网络(RNN)