- 29
- 0
- 约2.02千字
- 约 3页
- 2019-04-03 发布于陕西
- 举报
防SQL注入安全编码以JSP脚本为例:1.(简单又有效的方法)PreparedStatement采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。使用好处:(1).代码的可读性和可维护性.(2).PreparedStatement尽最大可能提高性能.(3).最重要的一点是极大地提高了安全性.原理:sql注入只对sql语句的准备(编译)过程有破坏作用而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,而不再对sql语句进行解析,准备,因此也就避免了sql注入问题.2.使用正则表达式过滤传入的参数要引入的包:import java.util.regex.*;正则表达式:private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;判断是否匹配:Pattern.matches(CHECKSQL,targerStr);下面是具体的正则表达式:检测SQL meta-characters的正则表达式:/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix修正检测SQL meta-characters的正则表达式:/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i典型的SQL 注入攻击的正则表达式
原创力文档

文档评论(0)