PreparedStatement极大地提高了安全性.
  

即使到目前为止,仍有一些人连基本的恶意SQL语法都不知道.
  

String  sql  =  "select  *  from  tb_name  where  name ='  '  and  password  = '  ' ";
  

如果我们把  [  'or'1'='1  ]  作为password传入进来.用户名随意,看看会成为什么?
  

select  *  from  tb_name  =  '随意'  and  passwd  =  ' '  or  '1'='1';
  

因为'1'='1'肯定成立,所以可以任何通过验证.更有甚者:

  

而如果你使用预编译语句.你传入的任何内容就不会和原来的语句发生任何匹配的关系.

只要全使用预编译语句,你就用不着对传入的数据做任何过虑.

而如果使用普通的statement,有可能要对drop,;等做费尽心机的判断和过虑.

相关文章:

  • 2018-09-26
  • 2021-07-24
  • 2022-02-05
  • 2022-12-23
  • 2023-02-24
  • 2021-08-04
  • 2021-10-01
猜你喜欢
  • 2022-01-05
  • 2022-12-23
  • 2021-07-21
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案