在codeigniter中逃避了针对SQL注入的足够保护

时间:2018-07-20 22:00:16

标签: php codeigniter sql-injection

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

然后,我看到codeigniter没有使用准备好的语句。

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

这足够保护吗?

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

2 个答案:

答案 0 :(得分:1)

从我所看到的一切来看,PDO和准备好的查询是现在要追求的东西。在此处看到大量PHP帖子,大多数评论都告诉人们要以PDO方式转向使用更安全的方式来访问数据并将数据插入到数据库中。它的文档记录非常详尽,一旦您掌握了它的基础知识,就很容易看到如何进一步使用它。 TL:DR转义=不良。 PDO =好

PDO文档也在这里,可为您提供有关“操作方法”的大量知识,这些知识非常容易理解并且编写得PDO Manual

答案 1 :(得分:0)

是的,您的假设是对的,可以避免使用内置查询类,并在准备好的查询中使用PDO。

不要使用未准备好的东西,除非您要制作插件,否则为了将来的用户,您可以考虑使用内置函数以使其更容易调试,但仍然可以考虑使用更安全的方法准备好的语句支持的方式。

您真的不想成为负责网站漏洞的插件作者。