什么是sql注入攻击?
上面代码主要用于验证用户名是否正确,主要需要数据库的查询,如果用户在文本框中:输入:韦小宝
select * from user where username=’韦小宝’
但如果,用户在文本框中输入:
那么,sql语句的组合就变成:
以上就是sql注入攻击的一种。
如何解决?
1)由于sql中的单引号的特殊性,所以我们要对用户输入的内容进行过滤。
如果,用户输入的内容中包含字符“’”,”””,”\”这些特殊字符时,会进行自动转义,在特殊字符前面加上“\”
2)在php.ini配置文件中,可以配置用户提交数据的魔术转义
这个选项如果开启:magic_quotes_gpc=on
会对用户提交的数据自动进行转义
4)使用自动过滤函数,对用户提交的数据($_POST、$_GET)进行过滤
第一种:过于麻烦,如果表单内元素比较多,实现过程麻烦
第二种:由于高版本中会默认关闭此选项,我们对服务器往往没有配置权限
定义公共文件,封装魔术转义函数
在处理表单或url数据的php页面中:
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/2639.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除