SQL 之 sql 注入

何为sql注入

       通过在 Web 表单中输入(恶意)SQL 语句得到一个存在安全漏洞的网站上的数据库,而不是按照设

计者意图去执行 SQL 语句。举例:当执行的 sql 为 select * from user where username = “admin”or “a”=“

a”时,sql 语句恒成立,参数 admin 毫无意义。
 

防止 sql 注入的方式
      1.  预编译语句:如,select * from user where username = ?,sql 语句语义不会发生改变,sql 语句

中变量用?表示,即使传递参数时为“admin or ‘a’= ‘a’”,也会把这整体当做一个字符创去查询。


      2.  Mybatis 框架中的 mapper 方式中的 # 也能很大程度的防止 sql 注入($无法防止 sql 注入)

猜你喜欢

转载自blog.csdn.net/qq_35069223/article/details/81161999