5

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

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

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

4

2 回答 2

6

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

请注意,使用 PDO 并不能保证对 SQL 注入的任何保护,请始终使用Prepared Statements

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

于 2012-06-28T13:40:57.967 回答
2

正如 Adnan 所说,Propel 是安全的,但是当您决定使用该fromArray()方法时,切勿$_POST直接传递全局变量。否则,你打开了批量分配攻击的大门。

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

于 2012-06-28T17:55:49.240 回答