在codeigniter中逃避足够的防止sql注入的保护

问题描述 投票:0回答:2

我读到转义输入不足以防止sql注入。

然后,我看到codeigniter不使用预准备语句。

它在执行查询时使用escapebind(它仍然只是转义)。

这会得到足够的保护吗?

如果没有,我应该避免使用Query Class并手动使用准备好的PDO查询吗?

php codeigniter sql-injection
2个回答
0
投票

是的,您的假设是正确的,以避免内置查询类,并将PDO与准备好的查询一起使用。

不要使用未准备好的东西,除非你正在制作一个插件,然后为了未来的用户,你可以考虑使用内置函数来更容易地调试它们,但是仍然考虑使用支持更安全的预准备语句办法。

你真的不想成为负责网站弱点的插件作者。


1
投票

从我所看到的一切,PDO和准备好的查询是现在要追求的东西。在这里看到很多PHP帖子,大多数评论都告诉人们切换到更安全的方式来访问和以PDO的方式将数据插入数据库。它记录得非常好,一旦掌握了它的基本原理,就很容易看出如何进一步使用它。 TL:DR Escape =糟糕。 PDO =好

PDO文档也在这里为您提供了一个巨大的“如何做”的知识库,这些知识库非常容易理解并且写得很好PDO Manual

© www.soinside.com 2019 - 2024. All rights reserved.