sql注入
来源:互联网 发布:我的第一本编程书 编辑:程序博客网 时间:2024/04/24 03:25
描述:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,在抒写sql时,需谨记始终以PreparedStatement代替Statement,不仅防止sql注入,还可以提升sql执行效率,因为PreparedStatement执行所有语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中
案例:登录平台时的验证用户和密码:select * from qxt_user_reg where name='随意' and password =' ' or '1'='1' , '1'='1' 恒成立,所以任意账户密码都能通过,更严重的会删掉表,如:select * from qxt_user_reg where name='随意' and password =' ' ;drop table qxt_user_reg'
所以大家写sql全部使用PreparedStatement,参数以??形式传入,即使参数里有敏感字符如 or '1=1'也数据库会作为一个参数一个字段的属性值来处理而不会作为一个SQL指令,这样就起到了防止SQL注入
案例:登录平台时的验证用户和密码:select * from qxt_user_reg where name='随意' and password =' ' or '1'='1' , '1'='1' 恒成立,所以任意账户密码都能通过,更严重的会删掉表,如:select * from qxt_user_reg where name='随意' and password =' ' ;drop table qxt_user_reg'
所以大家写sql全部使用PreparedStatement,参数以??形式传入,即使参数里有敏感字符如 or '1=1'也数据库会作为一个参数一个字段的属性值来处理而不会作为一个SQL指令,这样就起到了防止SQL注入
0 0
- SQL注入--GET注入
- 注入攻击--SQL注入
- 【sql注入】mysql注入
- SQL注入
- SQL注入
- SQL注入
- sql注入
- SQL注入
- SQL注入
- SQL注入
- SQL注入
- sql注入
- SQL注入
- SQL注入
- SQL注入
- SQL注入
- SQL注入
- sql注入
- 恢复 git reset -hard 的误操作
- ubuntu16.04安装Adobe Flash Player插件
- eclipse中一些常见问题的解决方法
- 常用图像数据集大全(分类,跟踪,分割,检测等)
- SpringMVC用JsonSerialize日期转换
- sql注入
- 你为什么还不够优秀?
- 欧拉计划
- 汇编实验——分类统计字符个数count_char
- Fragment的一个生命周期记录
- struts2中Action带参传值
- 性能提升利器:MySQL 5.7多源主从复制的独特性
- c语言webserver
- Unity3D中使用Profiler精确定位性能热点的优化技巧