java学习笔记:PreparedStatement解决sql注入

java学习笔记:PreparedStatement解决sql注入

 

sql注入
----
sql注入:由于没有对用户输入进行充分检查,而SQL又是拼接而成,在用户输入参数时,在参数中添加一些SQL 关键字,达到改变SQL运行结果的目的,也可以完成恶意攻击。

1_原因:
String sql = select * from user where username =' zhangsan' -- ' and password =' ' ;
例如:
恶意注入方式一:输入 username: 随意   password: ' or '1'='1 
select * from user where username ='xxxxx' and password ='xxx' or '1'='1'; 
* and 优先级 执行 高于 or 
恶意注入方式二、在SQL添加 -- 是mysql的注释 用户名框:输入 zhangsan' 空格--空格   password 随意
select * from user where username ='zhangsan' -- ' and password ='' ;
注意:以上的 zhangsan' 空格--空格 中的zhangsan是数据库存在的
 

 

解决sql注入
----
1.PreparedStatement解决sql注入,重要步骤:
PreparedStatement是Statement的子接口,它的实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值