• Yii-CHtmlPurifier- 净化器的使用(yii过滤不良代码)


    1. 在控制器中使用:

    public function actionCreate()  
    {  
        $model=new News;  
          
        $purifier = new CHtmlPurifier();  
        $purifier->options = array(  
            'URI.AllowedSchemes'=>array(  
                                'http' => true,  
                               'https' => true,  
            ),  
                  'HTML.Allowed'=>'div',  
        );  
      
        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. 在模型中的使用:

    protected function beforeSave()  
    {  
        $purifier = new CHtmlPurifier();  
        $purifier->options = array(  
            'URI.AllowedSchemes'=>array(  
                                'http' => true,  
                               'https' => true,  
            ),  
                  'HTML.Allowed'=>'div',  
        );  
      
        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;  
        }  
    }  
    

      

    3. 在过滤器中的使用:

    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'=>'div',  
        );  
        if(isset($_POST['news']){  
            $_POST['news']['content'] = $purify($_POST['news']['content']);  
        }  
            $filterChain->run();  
    }  
    

      

    4. 在视图中的使用:

    <?php $this->beginWidget('CHtmlPurifier'); ?>    
    ...display user-entered content here...    
    <?php $this->endWidget(); ?>  
    

      

  • 相关阅读:
    网络编程
    Python之异常处理
    python第31天作业(面向对象高级)
    day01_计算机的基础介绍
    第一章/第二章课后习题
    day12
    day11
    day09-10
    day08
    day07
  • 原文地址:https://www.cnblogs.com/freespider/p/4262462.html
Copyright © 2020-2023  润新知