yii过滤xss代码

开发用的框架是yii1,遇到表单提交的内容,不可避免的需要防止一些不良代码。在yii中,安全考虑也是封装好的,下面来使用看我们是怎么过滤掉不良代码的。

需求:

1、表单提交内容,想安全的存入数据库

2、想安全的对数据进行输出

解决方案:

1、针对需求1,yii1里我们可以采取save(false)的方式对数据原封不动的进行存入(save底层应该是封装了pdo

2、针对方案2,一般输出的时候CHtml::encode()一下即可,碰到带有html标签的内容(此处不想过滤html标签),可以采取如下方式:

$purifier = new CHtmlPurifier;
echo $purifier->purify($content);

说明一下为什么要用purify而不再使用CHtml::encode(),如果这里直接使用encode方式,我们含有html标签的内容就会直接输出在页面上了,注意是html标签直接显示出来了,明显不是我们想要的,yii1的purify呢正好帮我们解决这个问题。如果我们的内容中含有xss代码,也是会安全的将代码输出在页面上。




你可能感兴趣的:(过滤,CHtml,yii1,表单安全提交,CHtmlPurifier)