0
load()メソッドを使用してモデルにデータをロードすることは安全ですか? $ modelには名前と電子メールのプロパティだけがあり、 "string"バリデーターしかありません。
if ($model->load(Yii::$app->request->post() && $model->save()){
}
私が上記のようなことをすると、SQLインジェクションに対して安全ですか?
load()メソッドを使用してモデルにデータをロードすることは安全ですか? $ modelには名前と電子メールのプロパティだけがあり、 "string"バリデーターしかありません。
if ($model->load(Yii::$app->request->post() && $model->save()){
}
私が上記のようなことをすると、SQLインジェクションに対して安全ですか?
はい! (私はジョークに抵抗することができなかった申し訳ありません)。
実際には、モデルはデータベースの抽象化であるため、使用しているDBや問題が発生する可能性はありません。通常、Yii2ではほとんどのDB操作がActiveRecord経由で行われますが、これはPDO prepared statements を使用してSQLインジェクション攻撃を防ぎます。
ActiveRecordを使用しない場合は、thisとお読みください。
正確に「文字列」バリデータとは何ですか?どのようにSQLインジェクションを防止する? –
値が文字列であることを確認し、指定した追加の制限(ある場合)を満たします。 SQLインジェクションからの保護は、ActiveRecordの内部PDOステートメントから来て、私の更新された答えをチェックする – gmc