国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

sql注入過濾哪些 java中preparedstatement為什么可以防止sql注入?

java中preparedstatement為什么可以防止sql注入?不知道樓主用沒有用過 select * from tab_name where name= "" name "" and pass

java中preparedstatement為什么可以防止sql注入?

不知道樓主用沒有用過

select * from tab_name where name= "" name "" and passwd="" passwd ""

把其中passwd換成 [" or "1" = "1] 這樣就可以完成sql注入

更有可能對你的數(shù)據(jù)庫表drop操作

如果使用preparedstatement的話就可以直接使用預編譯,PreparedStatement不允許在插入時改變查詢的邏輯結(jié)構(gòu).

舉例

statement

select * from tab_name where name= "" name "" and passwd="" passwd ""

passwd就可以換成 ‘ or "1"="1

Statement stmt = con.createStatement()

ResultSet rs = stmt.executeQuery(sql)

preparedstatement

select * from tab_name where name=? and passwd=?

PreparedStatement pst = con.prepareStatement(sql)

pstmt.setString(1, name)

pstmt.setString(2, passwd)

ResultSet rs = pstmt.executeQuery()