2017-10-11 18:44:34 199次浏览 3条回答 0 悬赏 10 金钱

大部分网站都可以过滤富文本编辑的js代码和html代码,但是象Yii这种程序员讨论问题的网站,写入富文本编辑中的文字肯定有html和js代码。那么这种情况下不能过滤,还有就是代码排版的格式也不能过滤,象这种情况如何在后台防止?

  • 回答于 2017-10-11 20:47 举报

    1、过滤
    2、不过滤,但替换掉关键字(或者转码),显示时再还原。
    3、写个免责声明?

  • 回答于 2017-10-13 18:53 举报

    你所说的这个,叫XSS攻击.
    Yii2 有提供了函数来防范.

    用法如下:

    <?= \yii\helpers\Html::encode($title) //纯文本 ?>
    <?= \yii\helpers\HtmlPurifier::process($content) //带html和js代码显示的文本 ?>
    

    这里只需要在显示的时候用就可以了,代码里面js会以文本的形式输出显示.不需要再考虑提交表单时如何过滤或者转义再存进数据库之类的.

    如果你这个问题不是应用于 yii,你可以去找一下"php xss过滤"的相关资料看看,这里就不重复回答了.

  • 回答于 1天前 举报

    你说的这种只需要不显示实体标签就行了。。htmlspecialchars

您需要登录后才可以回答。登录 | 立即注册
Allener
助理

Allener

注册时间:2017-10-04
最后登录:6小时前
在线时长:4小时42分

热门问题