hinesboy / mavonEditor

mavonEditor - A markdown editor based on Vue that supports a variety of personalized features
http://www.mavoneditor.com/
MIT License
6.38k stars 916 forks source link

[Bug] 在编辑器里面写style标签并且添加样式,会污染外部全局样式 #812

Closed 1742284240 closed 1 year ago

1742284240 commented 1 year ago

🐛 Bug Report

假如用户输入:

直接就把整个页面整没了,不知道有没有方法实现样式隔离

XIwen-chuan commented 1 year ago

这个是有xss白名单过滤的吧,参考一下主目录README.md?

API 文档

props

name 名称 type 类型 default 默认值 describe 描述
html Boolean true 启用HTML标签,因为历史原因这个标记一直默认为true,但建议不使用HTML标签就关闭它,它能彻底杜绝安全问题。
xssOptions Object {} xss规则配置, 默认开启,设置false可以关闭,开启后会对HTML标签进行过滤,默认过滤所有HTML标签属性,建议按需配置白名单减少被攻击的可能。
- 自定义规则参考: https://jsxss.com/zh/options.html
- 参考DEMO: dev-demo

要避免直接渲染编辑区的html标签,props栏的html手动设为false即可,更细的调整则在xssOptions中进行。

1742284240 commented 1 year ago

是的,确实有xss白名单过滤,谢谢大佬提醒; 不过我最初想实现的效果是,style标签仍然有效,只是style标签里面的样式不能影响外部样式; 目前来看好像实现不了,只能暂不处理这个问题了

XIwen-chuan commented 1 year ago

“不影响外部样式” 这句话我不太理解。按MDN