Open Robert2333 opened 5 years ago
编辑器自身输出的内容都是会把html转成实的,你那边难道直接拿到了原始html?------------------ 原始邮件 ------------------ 发件人: "Robert2333"notifications@github.com 发送时间: 2019年6月6日(星期四) 晚上10:22 收件人: "margox/braft-editor"braft-editor@noreply.github.com; 抄送: "Subscribed"subscribed@noreply.github.com; 主题: [margox/braft-editor] xss注入有什么好的解决方案么? (#521)
现在的编辑器,如果在同一行里输入
是会产生xss攻击的,我看了下文档,持久化保存html的话 react展示用dangerouslySetInnerHTML,则直接会导致xss吧,有什么好的解决方案么?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
我问题没描述清楚,不好意思。 是我在文本框输入 是会产生xss攻击的,我看了下文档,持久化保存html的话 react展示用dangerouslySetInnerHTML,则直接会导致xss吧,有什么好的解决方案么? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
目前我的解决方案是直接扔给后台java处理了,但是这样,预览功能会导致xss,囧😳
对哦,用dangerouslySetInnerHTML的确有这个问题,同问
对哦,用dangerouslySetInnerHTML的确有这个问题,同问
目前我的做法是将一些危险标签直接js过滤一遍,然后后台也过滤一遍。 能转义的转义了。
import { FilterXSS, getDefaultWhiteList } from 'xss';
import 'braft-editor/dist/output.css';
const whiteList = getDefaultWhiteList();
whiteList.div?.push('style', 'class');
whiteList.p?.push('style', 'class');
const filter = new FilterXSS({ whiteList });
return filter.process(input);
现在的编辑器,如果在同一行里输入
是会产生xss攻击的,我看了下文档,持久化保存html的话 react展示用dangerouslySetInnerHTML,则直接会导致xss吧,有什么好的解决方案么?