JDBC-防止SQL注入问题
2024-08-29 23:24:57
String sql = "select * from user where name = '" + name + "' and password = '" + password + "' ;";
//说明:使用拼接的sql语句会有sql注入问题
System.out.println(sql);
......省略操作数据库代码............
控制台操作:
请输入用户名:
123
请输入密码:
123' or 1 ='1
select * from user where name = '123' and password = '123' or 1 = '1' ;
登录成功...
解决方法:
preparedStatement:预编译对象, 是Statement对象的子类。
特点:
性能要高
会把sql语句先编译,使用?号作为sql参数的占位符,再通过方法添加sql参数解决SQL注入问题
最新文章
- 在不动用sp_configure的情况下,如何 =》去掉列的自增长,并保留原数据
- .Net处理Oracle中Clob类型字段总结
- 51nod 1005 大数加法
- Windows下用VMware安装Ubuntu虚拟机
- dbms_output.put_line 不显示
- My97DatePicker使用技巧
- 转帖:Html.BeginForm
- struts2语法--error页面如何捕获?
- lvs,nginx反向代理,虚拟主机
- 第七章 Hyper-V 2012 R2 授权管理
- CentOS 7下简单的Ansible使用入门
- 58-63用ssh远程连接linux系统
- webstorm版本2017.2开发stylus报错
- 安装mysql时启动服务出错问题
- oracle compile 编译无效对象
- 为什么你写的用例测不出Bug来?
- Python基础(2):__doc__、文档字符串docString、help()
- 写给C#程序员的javascript说明: 各类型变量和prototype
- C# 等值锁定
- Laxcus大数据操作系统2.0(5)- 第二章 数据组织