//控制器页面
public function actionList(){
$hello_str='Hello God!<script>alert(1);</script>';//用户传script代码恶意攻击时
$data['view_str']=$hello_str;//设置数组传值
return $this->renderPartial('list',$data);//赋值给页面
}
//视图页面<?php /** * Created by PhpStorm. * User: crazy stone * Date: 2017/2/8 * Time: 18:34 */ /** * 使用Yii中定义的两个方法方法 * 两者之间的区别 * 方法一Html是把传过来的script代码转义成为了html代码 * 方法二HtmlPurifier是把传过来的script代码过滤掉 */ use yii\helpers\Html; use yii\helpers\HtmlPurifier; ?> <h1><?php echo Html::encode($view_str);?></h1> <h1><?php echo HtmlPurifier::process($view_str);?></h1>
最终的演示效果
Yii中控制器传值视图层及防止用户script攻击
最新推荐文章于 2023-04-04 17:55:46 发布
本文介绍了在Yii框架中如何在控制器传递数据到视图层,并重点讨论了如何防范用户的script攻击。通过示例代码展示了使用`Html::encode`和`HtmlPurifier::process`两种方法进行XSS过滤,确保视图渲染的安全性。
摘要由CSDN通过智能技术生成