yii で db 集約型アプリケーションを構築しています。したがって、パフォーマンスとセキュリティは当然のことです。それとは別に、フォームの検証も主要な基準です。セキュリティのために、すべての Sql クエリにパラメーター バインディングを使用する予定です。検証のために、独自の . CActiveRecord でパフォーマンスが低下することは承知しています。そこで、すべてのテーブルに対して Cmodel クラスを作成し、これらのそれぞれのモデルで検証ルールを定義し、データの取得と挿入のための SQL クエリを実行する関数も定義する予定です。Web サイトでのすべてのデータ収集は、主にフォーム (約 95%) を介して行われます。 Cformmodel を使用する必要があります。 Cmodel と Cformmodel の違いがよくわかりません。
また、XSS 攻撃を防ぐために HTML purify ラッパーをバリデーション ルールとして使用したいのですが、このラッパーのパフォーマンスが悪いとあちこちで読んだので、バリデーション ルールとして使用しても悪くなるでしょうか? また、入力を浄化しているにもかかわらず、Chtml::Encode を使用して出力テキストを表示する必要がありますか?
データを処理する私の大まかな計画は次のとおりです。
$users= new Users() ; //Users is extending CModel , contains validation rules
$users=getdata(Yii->app->userid()) ;
if(isset('update'))
{
if($users->validate())
{$users->updatedata() ; }
}
$this->render('users','data'=>$users)