数据库存储的富文本到编辑器回显时只有文字 具体情况如下:
数据库存储的富文本
富文本编辑器回显的内容
xss的过滤器做了注释也没有作用
public function initialize(): void { parent::initialize(); $this->model = new \app\admin\model\price\Email(); // $this->request->filter('clean_xss'); }
有什么好的解决方案?
重写而不是注释,参考服务端的反xss文档
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; }
https://doc.buildadmin.com/senior/server/filter.html
框架层面的过滤如上文档介绍,没有其他过滤,同时如果去除以上过滤,会导致xss代码也能正常提交甚至入库,建议检测第三方安全软件等
重写而不是注释,参考服务端的反xss文档
common.php 文件中的filter和clean_xss函数原样输出,富文本回显还是只有文字
https://doc.buildadmin.com/senior/server/filter.html
框架层面的过滤如上文档介绍,没有其他过滤,同时如果去除以上过滤,会导致xss代码也能正常提交甚至入库,建议检测第三方安全软件等
- 1
前往