2016 - 2024

感恩一路有你

sql注入过滤哪些 java中preparedstatement为什么可以防止sql注入?

浏览量:2672 时间:2021-03-16 12:20:22 作者:admin

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

不知道楼主用没有用过

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

把其中passwd换成 [" or "1" = "1] 这样就可以完成sql注入

更有可能对你的数据库表drop操作

如果使用preparedstatement的话就可以直接使用预编译,PreparedStatement不允许在插入时改变查询的逻辑结构.

举例

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()

sql注入过滤哪些 sql注入过滤 过滤器防止sql注入

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。