标签:
SQL注入式攻击就是攻击者把SQL命令插入到Web表单的域或页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令。
在某些表单中,用户输入的内容直接用来构造懂态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。
由于SQL注入式攻击利用的是合法的SQL语句,使得这种攻击不能被防火墙检查出来,而且由于对任何基于SQL语言标准的数据库都适用,所以危害特别大。
防止SQL注入式攻击的方法:
1)在利用表单输入的内容构造SQL命令之前,对用户输入进行验证(利用正则表达式)与替换。
例如替换单引号,即把所有单独出现的单引号改为两个单引号,防止攻击者修改SQL命令的含义。
2)避免使用解释程序,攻击者一般借以执行非法命令。
3)对查询字符串、用户登录名称、密码等进行加密处理。
4)删除用户输入内容中的所有连字符,防止攻击者顺利获得访问权限。
5)对于用来执行查询的数据库账户,限制其权限。
6)用存储过程来执行所有查询。
7)检查用户输入的合法性,确信输入的内容只包含合法的数据。 数据检查应当在客户端和服务器端都执行。
8)检查提取数据的查询所返回的记录数量。
标签:
原文地址:http://www.cnblogs.com/wangyichuan/p/5968440.html