微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

验证 – 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等是要验证的输入字段,同样适用于表单模型验证

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐