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