首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何克服SQL注入的盲区

如何克服SQL注入的盲区
EN

Security用户
提问于 2016-09-18 07:53:23
回答 2查看 364关注 0票数 0

我知道SQL注入可以通过

代码语言:javascript
运行
复制
mysql_real_escape_string();

但是,如何消毒盲SQL注入,以及它与普通sql注入有何不同。

EN

回答 2

Security用户

发布于 2016-09-18 08:06:33

盲SQL注入和“普通”SQL注入都是SQL注入,即攻击者能够修改发送到数据库的SQL语句。唯一的区别是,使用盲SQL注入,攻击者不会看到任何明显的结果(即数据库返回的数据),而只能从时间、错误消息或数据库中发生的类似事件中扣除。有关详细信息,请参阅OWASP

因为盲SQL注入和“正常”SQL注入的原因是相同的,所以预防也是一样的,即确保攻击者不能恶意修改SQL。这样做的首选方法是参数绑定而不是转义(即mysql_real_escape_string)。有关如何正确执行的更多信息,请参见鲍比表:防止SQL注入的指南,它既描述了问题,也提供了各种语言(如用于PHP )的解决方案。

票数 2
EN

Security用户

发布于 2016-09-18 07:58:55

使用参数化查询!http://php.net/manual/en/mysqli.quickstart.prepared-statements.php http://php.net/manual/en/pdo.prepared-statements.php

这样,您也就不必总是担心每次都要在每次查询中转义所有的东西。

另外,我想提一下,mysql_real_escape_string();已经过时了。

代码语言:javascript
运行
复制
mysqli_real_escape_string();

是当前支持的版本。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/137071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档