sql 注入

如何防止sql注入的产生

1  严格检查变量的类型和格式,特别是最终会改变数据库的遍历

2  特殊字符的转义,防止特殊字符最终成为sql的语法一部分,从而改变sql的语法

3   绑定变量,使用sql与便于。 sql 预编译,对于常用的语法模板,可以提供预编译,这样输入的参数无论怎样改变,也不会影响sql执行

mybatis #与$ 的区别

1 #{aaa} 会将输入的变量加上双引号,而${aaa} 则是直接替换

2 #能有很大程度上有效避免sql注入,而$却不行,所以能用#号的地方尽量用#

3 对于像动态表名,列名这种不能用#的地方,需要做好对输入参数的检查过滤。

mybatis是如何防止sql注入的:

mybatis 底层采用预编译方式,对于输入的参数,替换底层的编译好的sql中的占位符,

因为sql注入只对编译过程影响,可以有效避免sql注入。

参考文章

SQL注入详解

彻底干掉恶心的 SQL 注入漏洞, 一网打尽!

如何干掉恶心的 SQL 注入?

SQL 注入详解

如何干掉恶心的 SQL 注入?

举世闻名的 SQL 注入是什么?这个漫画告诉你!

 

posted @ 2021-06-03 09:03  弱水三千12138  阅读(43)  评论(0编辑  收藏  举报