vuejs/vue

vue2.x组件的dom上挂载了__vue__属性,暴露了组件数据,不安全

941477276 opened this issue · 4 comments

Version

2.7.14、2.5.21

Reproduction link

element.eleme.cn/

Steps to reproduce

1、按f12打开浏览器控制台
2、使用“检查元素”工具选择一个组件对应的dom
3、随后点击“Properties”面板查看dom的属性
4、展开“vue”属性,即可看到组件的数据
vue的bug

QQ截图20230704144708

What is expected?

移除dom的“vue”属性,因为它会暴露组件的数据,不安全

What is actually happening?

dom存在“vue”属性,会暴露组件的数据

posva commented

Open in eleme repo

不想暴露的数据不要输出到前端,和 DOM 上挂没挂属性没有任何关系。

DOM 上挂载了__vue_属性后,组件的data可以可以通过“vue”查看的到,这不就暴露数据了么

只要输出到前端了,可以看到的方法有很多,不是“因为有 __vue__ 属性才暴露”。你如果真的在意数据安全,请自己做好业务的数据隔离,当前用户不可见的数据不要发送到前端来。