Propel ORM文档使用fromArray和fromJSON等函数提到a neat import/export feature,应允许这样的内容:
$foo = new Widget();
$foo->fromArray($_POST);
$foo->save(); /* Aaand you're done! */
...但文档中没有提到如果使用fromArray这种方式应该是安全的,即如果fromArray可以处理不受信任的输入。我的猜测是没关系 - 默认的设置器是防注射的,整个交易基于PDO - 但我想确定。
答案 0 :(得分:6)
Propel不仅使用PDO进行查询,还通过PDO使用预备语句,这在缓解SQL注入攻击(和性能增强)方面非常好。
请注意,使用PDO的只是不保证对SQL注入有任何保护,请始终使用Prepared Statements。
因此,作为对您的问题的回答,是的,Propel充分利用PDO的能力来防止SQL注入。
答案 1 :(得分:2)
Adpel说,Propel是安全的,但是当你决定使用fromArray()
方法时,不要直接传递$_POST
全局变量。否则,您打开the mass assignment attack的门。
您始终必须检查输入数据,换句话说,您永远不应该信任您的用户。