验证 – Yii2:如何在表单/模型输入中验证XSS(跨站点脚本)?

Yii2支持使用帮助程序class \yii\helpers\HtmlPurifier显示数据进行XSS(跨站点脚本)验证,但这只会验证并清除这样的输出代码
echo HtmlPurifier::process($html);

如何验证输入的XSS输入,使这些数据不存储在数据库本身?

这可以使用 filterValidator通过将进程调用为这样的验证的命名可调用函数来完成
class MytableModel extends ActiveRecord {
   ....
   public function rules(){
        $rules = [
           [['field1','field2'],'filter','filter'=>'\yii\helpers\HtmlPurifier::process']
        ];
        return array_merge(parent::rules(),$rules);
    }
   ....
}

其中field1,field2等是要验证的输入字段,同样适用于表单模型验证

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...