jsp程序怎样更好的防sql注入? 请问在开发设计jsp程序时怎样更好的防sql注入?我用的数据库是oracle 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、PreparedStatement2、正则表达式3、屏蔽单引号 不 明白什么意思么啊?Statement是语句注入 PreparedStatement是动态的注入,一样的效果么,楼上说的3正确, 屏蔽单引号 PreparedStatement 是正解,有无 ' 没事 如果写成下面的方式,可能发生SQL注入: select count(*) from tb where id='[id]' and pwd='[pwd]' boolean valid = rs.getInt("count(*)")>0;但如果写成下面这种形式,还能顺利进入系统吗? select pwd from tb where id='[id]' boolean valid = rs.getString("pwd").equals('[pwd]'));当然不说恶意破坏。 PreparedStatement 代替 statement sql语句不要出现拼字符串 不要把字段名称直接暴露在URL上啊,另外,非注册用户浏览页面时,尽量让他们看已经生成好的静态画面。具体例子就要你自己搜了。 我就是用的正则表达式呵呵用的是struts的验证框架 要不给注入的话最好的办法就是用mvc设计模式,jsp纯粹显示,这样就不会给攻击了 PreparedStatement很好,谢谢楼上各位 用框架最好了,别人都把这些考虑进去了.PreparedStatement这个是最简单又比较有效的 问一个ajax的问题.在线等... 急救:关于JSP四种属性范围的迷糊问题 修改程序后,执行,无任何变化 【急】聊天室-非正常退出后如何删除该用户??? 就这么点分儿,都给了! 100分:关于如何解决邮件附件名称乱码问题(另贴给分,这个请放心) 怎样用Tomcat5.0.19+JSP+Access建立留言本 windows98里面怎么设置classpath? 为什么我的sql更新语句有问题?请赐教! 学习JSP,用什么开发工具好?JBuilder可以吗?听说它对JSP支持不够! 获得客户端请求的参数 jsp页面上的按钮怎样隐藏,当有权限时就可以显示?
2、正则表达式
3、屏蔽单引号
Statement是语句注入
PreparedStatement是动态的注入,一样的效果么,
楼上说的3正确, 屏蔽单引号
select count(*) from tb where id='[id]' and pwd='[pwd]'
boolean valid = rs.getInt("count(*)")>0;但如果写成下面这种形式,还能顺利进入系统吗?
select pwd from tb where id='[id]'
boolean valid = rs.getString("pwd").equals('[pwd]'));当然不说恶意破坏。
具体例子就要你自己搜了。
呵呵
用的是struts的验证框架