您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
4-3 视图之数据安全
发布时间:2023-04-27 16:23:07编辑:雪饮阅读()
-
假如控制器是这样的
<?php
namespace app\controllers;
use yii\web\Controller;
class HelloController extends Controller{
public function actionIndex(){
$data["variable_1"]="<script>alert(1);</script>";
return $this->renderPartial('index',$data);
}
}
这里可以看到是将script脚本输出了,在web端模板如果调用如
<?=$variable_1;?>则页面会直接弹窗,这样很不安全。
方式1就是直接让其源代码显示在网页上而不是执行(相当于html实体输出了)
那么模板文件中这样处理即可:
<?php use yii\helpers\Html; ?> <?=Html::encode($variable_1);?>或者方式2就是用HtmlPurifier:: process将这种给过滤掉,直接不显示,这个函数的作用就是通过HTMLPurifier传递标记,使其安全地输出给最终用户
<?php use yii\helpers\HtmlPurifier; ?> <?=HtmlPurifier::process($variable_1);?>
关键字词:视图,安全
上一篇:4-2 视图之数据传递
下一篇:4-4 视图之布局文件