2)sql注入攻击:主要是就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
比如select * from test where username="wuxu" or 1=1,这样会使用户跳过密码直接登录,具体解决方案:
1、特殊字符过滤,不要用拼接字符串的方法来凑sql语句。
2、对sql语句进行预编译,比如java的preparedstatement。
3、关闭错误信息,攻击者可能会通过不断的尝试来得到数据库的一些信息,所以关闭错误信息变得重要起来。
4、客户端对数据进行加密,使原来传进来的参数因为加密而被过滤掉。
5、控制数据库的权限,比如只能select,不能insert,防止攻击者通过select * from test ;drop tables这种操作