Propel的fromArray/fromJSON功能是否安全,不受SQL注入的影响


Is Propel's fromArray/fromJSON feature safe from SQL injection?

Propel ORM文档提到了一个简洁的导入/导出功能,使用fromArray和fromJSON等函数,它应该允许这样的事情:

$foo = new Widget();
$foo->fromArray($_POST);
$foo->save(); /* Aaand you're done! */

。但是文档没有提到以这种方式使用 fromArray 是否应该是安全的,即 fromArray 是否可以处理不受信任的输入。我的猜测是没关系 - 默认的二传手是防注入的,整个交易基于 PDO - 但我想确定。

Propel不仅使用PDO进行查询,还通过PDO使用预准备语句,这在缓解SQL注入攻击(和性能增强)方面非常好。

请注意,使用 PDO 并不能保证对 SQL 注入的任何保护,请始终使用预准备语句。

因此,作为对您的问题的答案,是的,Propel充分利用了PDO的能力来防止SQL注入。

正如

Adnan所说,Propel是安全的,但是当你决定使用fromArray()方法时,永远不要直接传递$_POST全局变量。否则,您将打开大规模分配攻击的大门。

始终必须检查输入数据,换句话说,您永远不应该信任您的用户。