2016-11-08 10 views
0

Zend_Db_Table_Abstract Save関数を使用してデータベースを更新する場合、SQLインジェクション(私のパラメータを引用する)を心配する必要がありますか、それとも自動的に行われますか?Zend_Db_Table_Abstract:save-sql injection

クエリの表示方法を確認するにはどうすればよいですか。

答えて

0

いいえ、save()を使用している場合、SQLインジェクションについて心配する必要はありません。

シーンの裏側で、​​Zend Frameworkは、バインドパラメータを使用するZend_Db_Adapter_Abstract::insert()Zend_Db_Adapter_Abstract::update()を使用します。すべての値は、SQLインジェクションを防ぐためにフレームワークによってエスケープされます。

を使用しているときにZend_Db_Exprを使用してカスタム/詳細クエリを作成すると、SQLインジェクションのリスクが発生する可能性があります。

フレームワークで生成されたすべてのクエリを表示するには、Zend_Db_Profilerを参照してください。

また、データベースクエリログを有効にすることもできます。 MySQLの場合はHow to enable MySQL Query Log?、Postgresの場合はHow to log PostgreSQL queries?を参照してください。