В документации Propel ORM упоминается аккуратная функция импорта / экспорта с использованием таких функций, как fromArray и fromJSON, что должно позволить что-то вроде этого:
$foo = new Widget(); $foo->fromArray($_POST); $foo->save(); /* Aaand you're done! */
… но документация не упоминает, что использование этого метода должно быть безопасным, т. е. если fromArray может обрабатывать ненадежный вход. Мое предположение было бы в том, что все в порядке – установщики по умолчанию имеют защиту от инъекций, и вся сделка основана на PDO, но я бы хотел быть уверен.
Propel использует не только PDO для запросов, но также использует подготовленные заявления через PDO, что довольно хорошо, когда речь идет о смягчении атак SQL Injection (и повышения производительности).
Обратите внимание, что использование PDO не гарантирует никакой защиты от SQL Injection, всегда используйте подготовленные отчеты .
Итак, в ответ на ваш вопрос, да, Propel полностью использует возможности PDO для защиты от SQL Injection.
Propel безопасен, как сказал Аднан, но когда вы решите использовать метод fromArray()
, никогда не передавайте глобальную переменную $_POST
напрямую. В противном случае вы откроете дверь для атаки массового назначения .
Вам всегда нужно проверять входные данные, другими словами, вы никогда не должны доверять своим пользователям.