13
回答
j2ee怎么防止sql注入
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

j2ee这方向写web程序怎么防止sql注入

是注意sql语句还是有什么框架还是什么其他企业中用的较多的方法

求点资料...望赐教!

举报
张艺辰
发帖于5年前 13回/1K+阅
共有13个答案 最后回答: 5年前

使用 PreparedStatement 


--- 共有 2 条评论 ---
huan如果用ORM框架就基本不用考虑这个了,框架自己会处理sql注入的问题。 5年前 回复
张艺辰这个就用setString setInt这样嘛? 用到框架之类的比如hibernate myBatis的话怎么办? 5年前 回复
不用SQL
--- 共有 6 条评论 ---
szf回复 @张艺辰 : SQL中用占位符作参数,当然不能注入了 -- 除非你自己实现的占位符参数替换是使用拼字串,而不是PreparedStatement. -- 用ORM不用考虑这些啊 5年前 回复
张艺辰实体类这个可以防止sql注入啊? hibernate中这样的from User t where t.username=? and t.password=? 这个不会存在注入 ?User是实体类 5年前 回复
hanzhankang回复 @szf : +1,直接操作SQL,难免会出现注入口 5年前 回复
szf回复 @yangzhiyong : 既然提到j2ee(javaee),怎么少得了实体类?既然用了实体类,再自己写sql那不是扯蛋嘛,真想写的话,用mybitas这个ORM框架就可以了,按最普通的方法写都绝对不会有注入问题。 另外,不用实体类的java开发方法,就不要叫javaee了~~ 5年前 回复
dreamers哈哈,看来这位仁兄对ORM情有独钟呀。。。 5年前 回复

引用来自“loyal”的答案

PreparedStatement 就行了,不要自己去拼sql就行了,其实java是天生就支持防注入的...只是有人偷懒写程序.
我怎么觉得拼接sql语句可不是偷懒,是累人的活啊

引用来自“相见欢”的答案

引用来自“loyal”的答案

PreparedStatement 就行了,不要自己去拼sql就行了,其实java是天生就支持防注入的...只是有人偷懒写程序.
我怎么觉得拼接sql语句可不是偷懒,是累人的活啊
拼接SQL一般偷的是逻辑能力的懒,不想多写几个方法,也不想或没能力封装一个好的DAO操作类库
顶部