当前位置:  开发笔记 > 编程语言 > 正文

PHP中的mysqli类是否可以100%防止sql注入?

如何解决《PHP中的mysqli类是否可以100%防止sql注入?》经验,为你挑选了1个好方法。

我见过很多关于mysqli的文章和问题,他们都声称它可以防止sql注入.但它是否是万无一失的,或者还有一些方法可以绕过它.我对跨站点脚本或网络钓鱼攻击不感兴趣,只对sql注入感兴趣.

我应该首先说的是我正在使用准备好的陈述.这就是我对mysqli的意思.如果我使用没有任何字符串连接的预准备语句,那么它是万无一失的吗?



1> troelskn..:

但它是否是万无一失的,或者还有一些方法可以绕过它.

不,你必须知道你在做什么.如果您使用绑定参数(MySqli附带的功能),您可以完全避免此攻击向量的注入类型攻击.这并不妨碍您 - 程序员 - 直接嵌入字符串,从而实现注入攻击.您必须按预期使用该功能.

回复:编辑

我应该首先说的是我正在使用准备好的陈述.这就是我对mysqli的意思.如果我使用没有任何字符串连接的预准备语句,那么它是万无一失的吗?

万无一失仍然是一个危险的词.但是对于通过预准备语句绑定的变量,您可以免受注入攻击.这是因为绑定参数与SQL查询分开传输.使用"传统"嵌入字符串方法,数据库服务器需要解析输入,并且有很多边缘情况(Charsets等).当数据和查询分开发送时,不会进行实际的解析(至少不解析变量数据).

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有