mybatis为何能防止sql注入
Posted L.ZH__
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis为何能防止sql注入相关的知识,希望对你有一定的参考价值。
1.mybatis为何能防止sql注入?
mybatis可以通过#{xxx}的方式进行预编译sql语句($(xxx)只是将字符串替换,没有预编译)
2.预编译为何能防止sql注入?
一条sql语句的执行需要经过语义解析,制定执行计划,执行并返回结果
预编译后的语句将命令和参数分离,以?代替参数,在编译时直接进行执行计划,不会再进行语义分析,参数输入后替换?,直接查询输入的字符串,而不会再分析语句语法
3.如何进行sql注入
用and、or、like、“”、‘’、1=1、<>、等特殊符号,以及猜表名、猜字段名
4.如何预防sql注入
提高数据库权限管理,只有管理员能进行敏感操作
过滤用户输入
使用专业的漏洞扫描工具
参数化sql语句
以上是关于mybatis为何能防止sql注入的主要内容,如果未能解决你的问题,请参考以下文章