hinesboy / mavonEditor

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

[代码过滤] 关于输入图片错误src时的问题 #716

Open lilaobiao opened 2 years ago

lilaobiao commented 2 years ago

💬 Questions and Help

如果给编辑器设置了xssOptions时,有各种转义和过滤,编辑的时候体验很差,并且光标时不时的就跳到了编辑区的最后。所以在应用中没有设置xssOptions,而是通过change事件拿到编辑区的内容再进行xss过滤。现在遇到的问题是,如果用户在编辑器中输入了 <img src="xxx.jpg" onerror="alert(0)"> 时,也就是给图片一个错误的地址,浏览器会立马弹出0,并且是两次。看了下html结构,在编辑器的内部,分别有一个class名为v-show-content和v-note-read-content的div容器,都把编辑器里的内容进行了一次渲染,所以发生了图片请求错误,引发报错。这里在内部用两个隐藏div渲染两次,渲染的时候是不是应该把onerror等事件过滤掉再进行渲染比较合理。或者说加个参数配置,不渲染那两个隐藏的div。

ygj6 commented 2 years ago

感谢你的建议。 我们已经发发布了mavon-editor@2.10.0版本,新版本中默认启用XSS,不需要在用户传递xssOptions了,并且只有渲染时才会过滤,你可以安装新版本试一下。


Thank you for your suggestion. We have released mavon-editor@2.10.0 version, in the new version, XSS is enabled by default, no need to set xssOptions anymore, and xss defense will only be done at rendering time, you can install the new version to try it.

https://www.npmjs.com/package/mavon-editor

itDjango commented 1 year ago

vue3版本好像还存在xss-self的问题