====== Bezpieczeństwo ====== ===== Parametry wywołania metodą post ===== Aby zabezpieczyć się przed ręcznym wpisaniem adresu strony (z parametrami) w przeglądarce i wykonaniem operacji niedozwolonej, parametry do akcji powinny być przekazane metodą POST. **Budowa odnośnika** $model->id], ['data-method' => 'POST']); ?> **Controller** public function behaviors() { return [ 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'allow' => true, 'roles' => ['super_user'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['post'], 'view' => ['post'], #Decyduje o sposobie przekazywania param. ], ], ]; } public function actionView($id){ } ===== Walidacja przeciw atakom XSS ===== Metoda polega na filtrowaniu (validacji) atrybutów modelu przed ich zapisaniem. W modelu należy dodać funkcję: public function beforeValidate() { foreach (array_keys($this->getAttributes()) as $attr) { if (!empty($this->$attr)) { $this->$attr = \yii\helpers\HtmlPurifier::process($this->$attr); } } return parent::beforeValidate(); } HtmlPurifier to klasa, która usuwa z danych podejrzane fragmenty