什么是sql注入?如何防止?

到底什么是sql注入?如何注入?如何防止?大佬帮解答一下!

SQL 注入是用户利用某些系统没有对输入数据进行充分的检查,从而进行恶意破坏的行为。例如:例如登陆用户名采用 name’ or ‘a’=’a。
select * from student where sname='name' or 'a'='a';可以查出所有信息
防范 SQL 注入,需要采用PreparedStatement取代Statement,或者程序来控制!

  1. sql注入就是绕开sql的逻辑,直接进行sql操作
  2. 最简单的比如 select * from users where name = 'admin' and password='123'
    你在填用户名的时候,输入admin'r-- ,密码随意。由于'r--会注释掉后面的sql,直接就可以登录成功
  3. 防止sql最有效的方式就是参数化,即用带参数的sql语句执行。