Propel的fromArray / fromJSON功能是否可以安全地从SQL注入?

时间:2012-06-28 13:35:43

标签: php sql orm sql-injection propel

Propel ORM文档使用fromArray和fromJSON等函数提到a neat import/export feature,应允许这样的内容:

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

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

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:2)

Adpel说,Propel是安全的,但是当你决定使用fromArray()方法时,不要直接传递$_POST全局变量。否则,您打开the mass assignment attack的门。

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