java Web:6、如何避免 sql 注入?

如何避免 sql 注入?

1、什么是sql注入?

SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。

2、怎样防止sql注入?

(1)使用PreparedStatement预编译sql,避免sql拼接。
预编译 SQL(Java 中使用 PreparedStatement),参数化查询方式,避免 SQL 拼接

(2)Mybatis防止sql注入。
MyBatis是一款优秀的持久层框架,在防止sql注入方面,mybatis启用了预编译功能,在所有的SQL执行前,都会先将SQL发送给数据库进行编译,执行时,直接替换占位符"?"即可。

MyBatis在处理传参的时候,有两种处理方式,一种是#,另一种是$;

#{XXX} ,将传入参数都当成一个字符串,会自动加双引号,已经经过预编译,安全性高,能很大程度上防止sql注入;
${XXX} ,该方式则会直接将参数嵌入sql语句,未经过预编译,安全性低,无法防止sql注入;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值