轉自:
http://www.java265.com/JavaMianJing/202205/16534006123487.html
下文筆者講述preparedStatement和Statement的區別說明,如下所示
區別1:效率
預編譯會話比普通會話物件
資料庫系統不會對相同的sql陳述句不會再次編譯
區別2:安全性
可以有效的避免sql注入攻擊
sql注入攻擊就是從客戶端輸入一些非法的特殊字符
而使服務器端在構造sql陳述句的時候仍然能夠正確構造
從而收集程式和服務器的資訊和資料
如:“select * from user where userName = ‘” + userName + “ ’ and password =’” + password + “’”
如果用戶名和密碼輸入的是’1’ or ‘1’=’1’
則生產的sql陳述句是
“select * from user where userName = ‘1’ or ‘1’ =’1’ and password =’1’ or ‘1’=’1’
這個陳述句中的where 部分沒有起到對資料篩選的作用
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499845.html
標籤:其他
上一篇:go學習筆記(一)
下一篇:如何定義一個泛型類呢?
