7、springboot-防止sql注入

本文探讨了SQL注入的概念,它是通过修改输入参数拼接SQL语句,对数据库造成潜在威胁。文章重点介绍了在SpringBoot中如何使用Mybatis-plus防止SQL注入,强调了采用#符号传递数据的重要性,并提及了手动构造SQL时的注意事项,包括额外的缓存和跨域处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

疫情大数据平台是一个公益的项目,但很可能被网络上大量的扫描器扫描,并有可能收到脚本的攻击,而进行防御就是很重要的,可以有效的避免我们被攻击。
本篇主要讲述防止sql注入部分

sql注入是什么

​ SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL。

​ 而SQL注入是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。

​ 如Web应用程序的开发人员对用户所输入的数据或cookie等内容不进行过滤或验证(即存在注入点)就直接传输给数据库,就可能导致拼接的SQL被执行,获取对数据库的信息以及提权,发生SQL注入攻击

Mybatis-plus处理

采用#传入数据

public static String safeParam(final String param,final String mapping){
   
String target ="" +param;
return StringUtils.isBlank(mapping) ? target +"}" : target + "," + mapping + "}";
}

.# 和 .$的区别
#:解析为一个 JDBC 预编译语句,一个#被解析为一个参数占位符 ? ,#{
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值