web 什么是SQL注入攻击,如何防止被注入【面试题详解】

今天爱分享给大家带来什么是SQL注入攻击,如何防止被注入【面试题详解】,希望能够帮助到大家。

攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。
用户登录,输入用户名 lianggzone,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现
select * from user where name = ‘lianggzone’ and password = ‘’ or ‘1’=‘1’
不管用户名和密码是什么内容,使查询出来的用户列表不为空。如何防范SQL注入攻击使用预编译的PrepareStatement是必须的,但是一般我们会从两个方面同时入手。
Web端
1)有效性检验。
2)限制字符串输入的长度。
服务端
1)不用拼接SQL字符串。
2)使用预编译的PrepareStatement。
3)有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过Web端请求)
4)过滤SQL需要的参数中的特殊字符。比如单引号、双引号。

原文链接:https://blog.itblood.com/1074.html,转载请注明出处。
0
播种我的妻子Seed My Wife 官方中文版+自带全回想 [NTRMAN新作][电脑/480M] [互动SLG/中文/动态]
播种我的妻子Seed My Wife 官方中文版+自带全回想 [NTRMAN新作][电脑/480M] [互动SLG/中文/动态]
刚刚 有人购买 去瞅瞅看

站点公告

显示验证码
没有账号?注册  忘记密码?