課程
/后端開發(fā)
/Java
/JDBC之 “ 對岸的女孩看過來”
where 1=1 不會導(dǎo)致sql注入嗎?
2016-09-30
源自:JDBC之 “ 對岸的女孩看過來” 2-6
正在回答
對 于 JDBC而言, SQL注入 攻 擊 只 對 Statement有效, 對 PreparedStatement 是無效的, 這 是因 為 PreparedStatement 不允 許 在不同的插入 時間 改 變查詢 的 邏輯結(jié) 構(gòu)。 ?如 驗證 用 戶 是否存在的 SQL語 句 為 : ?select count(*) from usertable where name='用 戶 名 ' and pswd='密 碼 '如果在 用 戶 名字段 中 輸 入 ' or '1'='1' or '1'='1或是在 密 碼 字段 中 輸 入 1' or '1'='1將 繞過驗證 ,但 這種 手段只 對 只 對 Statement有效, 對 PreparedStatement 無效。 ?PreparedStatement 相 對 Statement有以下 優(yōu) 點: ?1.防注入攻擊 ?2.多次運行速度快 ?3.防止數(shù)據(jù)庫緩沖區(qū)溢出 ?4.代 碼 的可讀性可維護性好
這里不會產(chǎn)生SQL注入,這里的where 1=1永遠(yuǎn)成立,而你擔(dān)心的SQL注入問題是where后面緊跟傳入的參數(shù)或語句,而這里并沒有授予傳參的權(quán)利而是直接寫死1=1。
不會的
舉報
一起領(lǐng)略JDBC的奧秘,為進一步學(xué)習(xí)集成框架打下良好的基礎(chǔ)
1 回答where 1=1?
2 回答看不懂這個地方的 追加的 where 1 =1
1 回答為什么我的sql包不能自動導(dǎo)入,
3 回答對于sql注入怎么處理呢
3 回答為什么我這方法中寫入的SQL語句會不行?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-11-13
對 于 JDBC而言, SQL注入 攻 擊 只 對 Statement有效, 對 PreparedStatement 是無效的, 這 是因 為 PreparedStatement 不允 許 在不同的插入 時間 改 變查詢 的 邏輯結(jié) 構(gòu)。 ?
如 驗證 用 戶 是否存在的 SQL語 句 為 : ?
select count(*) from usertable where name='用 戶 名 ' and pswd='密 碼 '
如果在 用 戶 名字段 中 輸 入 ' or '1'='1' or '1'='1
或是在 密 碼 字段 中 輸 入 1' or '1'='1
將 繞過驗證 ,但 這種 手段只 對 只 對 Statement有效, 對 PreparedStatement 無效。 ?
PreparedStatement 相 對 Statement有以下 優(yōu) 點: ?
1.防注入攻擊 ?
2.多次運行速度快 ?
3.防止數(shù)據(jù)庫緩沖區(qū)溢出 ?
4.代 碼 的可讀性可維護性好
2016-11-13
這里不會產(chǎn)生SQL注入,這里的where 1=1永遠(yuǎn)成立,而你擔(dān)心的SQL注入問題是where后面緊跟傳入的參數(shù)或語句,而這里并沒有授予傳參的權(quán)利而是直接寫死1=1。
2016-09-30
不會的