Wie filtert Yii fehlerhaften Code? In diesem Artikel wird hauptsächlich die Verwendung des Yii-Reinigers CHtmlPurifier vorgestellt, der die Funktion des Filterns von fehlerhaftem Code realisieren kann und entsprechende Kenntnisse in der Verwendung von Controllern, Modellen, Filtern und Ansichten beinhaltet. Ich hoffe, dass er für alle hilfreich sein wird .
Details sind wie folgt:
1. Verwendet im Controller:
public function actionCreate() { $model=new News; $purifier = new CHtmlPurifier(); $purifier->options = array( 'URI.AllowedSchemes'=>array( 'http' => true, 'https' => true, ), 'HTML.Allowed'=>'p', ); if(isset($_POST['News'])) { $model->attributes=$_POST['News']; $model->attributes['content'] = $purifier->purify($model->attributes['content']); if($model->save()) $this->redirect(array('view','id'=>$model->id)); } }
2. Verwendet im Modell:
protected function beforeSave() { $purifier = new CHtmlPurifier(); $purifier->options = array( 'URI.AllowedSchemes'=>array( 'http' => true, 'https' => true, ), 'HTML.Allowed'=>'p', ); if(parent::beforeSave()){ if($this->isNewRecord){ $this->create_data = date('y-m-d H:m:s'); $this->content = $purifier->purify($this->content); } return true; }else{ return false; } }
in Filtern:
public function filters() { return array( 'accessControl', // perform access control for CRUD operations 'postOnly + delete', // we only allow deletion via POST request 'purifier + create', //载入插入页面时进行些过滤操作 ); } public function filterPurifier($filterChain){ $purifier = new CHtmlPurifier(); $purifier->options = array( 'URI.AllowedSchemes'=>array( 'http' => true, 'https' => true, ), 'HTML.Allowed'=>'p', ); if(isset($_POST['news']){ $_POST['news']['content'] = $purify($_POST['news']['content']); } $filterChain->run(); }
4. Verwendung in Ansichten:
<?php $this->beginWidget('CHtmlPurifier'); ?> ...display user-entered content here... <?php $this->endWidget(); ?>
Verwandte Empfehlungen:
Yii2 modal Popup-Fenster ActiveForm implementiert die asynchrone Überprüfung des Ajax-Formulars
Yii2 implementiert die QQ-Verbindungsanmeldung
Yii2 einfaches Parsen mit Cache
Das obige ist der detaillierte Inhalt vonWie Yii fehlerhaften Code herausfiltert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!