0

User そのモデルから新しいオブジェクトを作成したと仮定したモデルがあります

$x = new User;

_POST 変数からそのプロパティを設定します

$x->lastName = $_POST["last_name"];

私がした場合

$x->save();

SQL インジェクションから保護されますか?

ありがとうございました

4

2 に答える 2

2

モデルの検証を行う$model->save()と、最初にキックが開始されるため、モデルで定義された検証ルールに応じて変数が検証されます。エラーがある場合、モデルは保存されず、値はデータベースに移動しません。注射なし。

バリデーション ルールはモデルの rules 配列で定義されます。すでに多くの組み込みのバリデーション クラスがあります。バリデーター クラスの入門書を提供する素晴らしい wiki 記事を次に示します。

独自のバリデーターを定義することもできます。

したがって、入力をサニタイズ(または検証)している限り、問題ありません。

于 2012-09-06T15:58:55.197 に答える
2

Yii は接続に PDO を使用するため、SQL インジェクションから安全です。

しかし、XSS からは安全ではありません。http://www.yiiframework.com/doc/guide/1.1/en/topics.security http://www.yiiframework.com/wiki/275/how-to-write-secure-yii-applications/#hh11

于 2012-09-06T16:11:38.873 に答える