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注
    入)。
Donate comment here