什么是SQL注入式攻击,如何去防范SQL注入式攻击

1、SQL注入式攻击

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。比如:攻击者在用户名字和密码输入框中输入"''1'='1"之类的内容。最后得到的SQL命令可能变成:

SELECT * from Users WHERE login = '' or '1'='1' AND password = '' or '1'='1'

这时,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。

 

2、防范SQL注入式攻击

只要在利用表单输入的内容构造SQL命令之前,把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行。

对于动态构造SQL查询的场合,可以使用下面的技术:

第一:替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。

第二:删除用户输入内容中的所有连字符。

第三:对于用来执行查询的数据库帐户,限制其权限。

用存储过程来执行所有的查询。

限制表单或查询字符串输入的长度。

检查用户输入的合法性,确信输入的内容只包含合法的数据。

将用户登录名称、密码等数据加密保存。

检查提取数据的查询所返回的记录数量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值