yii を使い始めたとき、検証ルールのセーフがよく分かりませんでしたが、今日テストしてやっとセーフの意味が分かりました。安全とは、フレームワークが SQL インジェクションやその他のフィルターなどの入力コンテンツをフィルターすることを意味すると常に思っていましたが、実際にはそうではありません。安全か安全でないかの違いは、主に $model->attributes=$_POST にあります。 ['User']; この割り当て方法は、Yii では一括割り当てと呼ばれます。モデル内のすべての属性が安全な場合、フォームによって送信された $_POST['User'] のすべての値を $model- に割り当てることができます。 > 属性を保存してデータベースに入ります。ただし、ユーザー名などの安全に設定されていない属性があると、ユーザー名が変更されて送信されると、ユーザー名が安全ではないためにユーザー名の値が更新されず、新しいユーザー名を追加できないことがわかります。一括割り当て。値がモデルに割り当てられます。
マスターの説明は次のとおりです:
安全な属性とは、ユーザーが入力した属性を指し、検証する必要があります。属性が検証ルールに表示され、検証ルールの適用可能なシナリオがモデルの現在のシナリオと一致する場合、その属性は安全であり、バッチ割り当てを受け入れることができます。 Yii 1.1 では、safeAttributes() 関数がキャンセルされました。すべてのプロパティは検証ルールによって安全であると宣言されます。
詳細については、以下を参照してください: http://www.yiiframework.com/wiki/161/ Understanding-safe-validation-rules/