Yii中控制器传值视图层及防止用户script攻击

本文介绍了在Yii框架中如何在控制器传递数据到视图层,并重点讨论了如何防范用户的script攻击。通过示例代码展示了使用`Html::encode`和`HtmlPurifier::process`两种方法进行XSS过滤,确保视图渲染的安全性。
摘要由CSDN通过智能技术生成
//控制器页面
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>

最终的演示效果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值