共计 678 个字符,预计需要花费 2 分钟才能阅读完成。
这篇文章给大家分享的是有关什么是 SQL 注入的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
1 . 什么是 sql 注入(Sql injection)?
Sql 注入是一种将 sql 代码添加到输入参数中,传递到 Sql 服务器解析并执行的一种攻击手法
2. 怎么产生的?
Web 开发人员无法保证所有的输入都已经过滤
攻击者利用发送给 Sql 服务器的输入数据构造可执行的 Sql 代码
数据库未做相应的安全配置
3. 如何寻找 sql 漏洞?
识别 web 应用中所有输入点
了解哪些类型的请求会触发异常?(特殊字符”或)
检测服务器响应中的异常
4. 如何进行 SQL 注入攻击?
数字注入:
Select * from tablename where id=1 or 1=1;
字符串注入:
Mysql 的注释特性:
# 与 – 号后面的被注释掉,无论密码输入的是什么,都能正确查询。请点击此处输入图片描述
5. 如何预防 sql 注入?
严格检查输入格式:is_numeric(var),tp5 的 validate 验证,字符串的注入采用正则看是否在 [A-Za-z] 之间
转义:addslashes(str)、
mysqli_escape_string()函数进行转义
6.MySQLi 的预编译机制
参数化绑定
参数化绑定,防止 SQL 注入的又一道屏障。php MySQLi 和 PDO 均提供这样的功能。比如 MySQLi 可以这样去查询:
PDO 的更是方便,比如:
感谢各位的阅读!关于“什么是 SQL 注入”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!