栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL注入如何工作以及如何防止它[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL注入如何工作以及如何防止它[重复]

我也无法抗拒。

SQL注入是“一种代码注入技术,可利用应用程序数据库层中发生的安全漏洞”。换句话说,它的SQL代码 注入 作为一个查询中用户输入。

SQL注入可以操纵数据(删除,更新,添加ecc …)以及破坏或删除数据库表。虽然我不知道SQL注入操作脚本。

假设在您的PHP脚本中,您期望(作为用户输入)登录表单中的用户名和密码,这些名称和密码稍后将在查询中使用,例如:

SELECt Id FROM Users WHERe Name = $name AND Password = $password;

用户可以在里面插入

$name
$password
任何他喜欢的(例如槽的
<input>
)。假设他添加了一个名称,例如“
1 OR 1 = 1;--
”,查询现在将如下所示:

SELECt Id FROM Users WHERe Name = 1 OR 1 = 1; -- AND Password = $password;

然后,

;
可以添加另一个查询或使脚本认为用户名和密码确实存在。

注意,这

-- AND Password = $password;
是一个SQL注释,因此将被忽略。

如果您使用的是PHP <5,则应

mysql_real_escape_string()
先将其查找并使用它来转义用户输入,然后再将其嵌入查询中。

如果您使用的是PHP5
+,则应使用PDO或mysqli扩展名,它们可以通过准备好的语句来防止此问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385825.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号