数据库存储的富文本到编辑器回显时只有文字
富文本

数据库存储的富文本到编辑器回显时只有文字
具体情况如下:

数据库存储的富文本

富文本编辑器回显的内容

xss的过滤器做了注释也没有作用

    public function initialize(): void
    {
        parent::initialize();
        $this->model = new \app\admin\model\price\Email();
        // $this->request->filter('clean_xss');
    }

有什么好的解决方案?

1个回答默认排序 投票数排序
YANG001
YANG001
这家伙很懒,什么也没写~
1月前

重写而不是注释,参考服务端的反xss文档

wubiao239
wubiao239回复YANG001
这家伙很懒,什么也没写~
1月前

common.php 文件中的filter和clean_xss函数原样输出,富文本回显还是只有文字

    function filter(string $string): string
    {
        // 去除字符串两端空格(对防代码注入有一定作用)
        // $string = trim($string);

        // // 过滤html和php标签
        // $string = strip_tags($string);

        // // 特殊字符转实体
        // return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, 'UTF-8');

        return $string;
    }


    function clean_xss(string $string): string
    {
        // return (new AntiXSS())->xss_clean($string);

        // 修改为
       
        return $string;
    }

    
YANG001
YANG001回复wubiao239
这家伙很懒,什么也没写~
1月前

https://doc.buildadmin.com/senior/server/filter.html

框架层面的过滤如上文档介绍,没有其他过滤,同时如果去除以上过滤,会导致xss代码也能正常提交甚至入库,建议检测第三方安全软件等

请先登录
0
1
0
3