码迷,mamicode.com
首页 > 数据库 > 详细

mybatis为何能防止sql注入

时间:2020-11-04 18:43:49      阅读:25      评论:0      收藏:0      [点我收藏+]

标签:数据   语义解析   权限   分析   tis   字段   表名   sql语句   语法   

1.mybatis为何能防止sql注入?

   mybatis可以通过#{xxx}的方式进行预编译sql语句($(xxx)只是将字符串替换,没有预编译)

2.预编译为何能防止sql注入?

   一条sql语句的执行需要经过语义解析,制定执行计划,执行并返回结果

   预编译后的语句将命令和参数分离,以?代替参数,在编译时直接进行执行计划,不会再进行语义分析,参数输入后替换?,直接查询输入的字符串,而不会再分析语句语法

3.如何进行sql注入

   用and、or、like、“”、‘’、1=1、<>、等特殊符号,以及猜表名、猜字段名

4.如何预防sql注入

   提高数据库权限管理,只有管理员能进行敏感操作

   过滤用户输入

   使用专业的漏洞扫描工具

   参数化sql语句

mybatis为何能防止sql注入

标签:数据   语义解析   权限   分析   tis   字段   表名   sql语句   语法   

原文地址:https://www.cnblogs.com/LZHOO97/p/13923568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!