防止SQL注入

SQL注入:通过恶意传参,欺骗server端执行恶意SQL。


select * from students where id=2 or 2=2;  //通过使where条件恒真获取全表数据

然后猜测表名再对表做修改。




1、不要信任client端用户的输入,包括form submit、get请求参数字符串,都要做验证。正则验证,限制参数长度,对单双引号转好,参数加密。

2、不要动态拼装SQL,要用PreparedStatement。

3、数据库链接不要用root权限,要为应用分配单独的权限。

4、关键信息加密存放。

5、返回给前端的异常信息要做包装,防止原生异常中系统信息被暴露到前端。