【发布时间】:2019-03-20 13:47:01
【问题描述】:
我正在研究如何保护,
- 角度
- Vue
- 反应
针对 XSS 攻击。当我访问 Angular 官方文档时,
https://angular.io/guide/security
,上面写着:
为了系统地阻止 XSS 错误,Angular 将所有值视为 默认情况下不受信任。当一个值从一个 模板,通过属性、属性、样式、类绑定,或 插值,Angular 清理和转义不受信任的值。
还有:
Angular 会清理 HTML、样式和 URL 的不可信值; 清理资源 URL 是不可能的,因为它们包含任意 代码。在开发模式下,Angular 会打印控制台警告 必须在清理期间更改值。
和:
Angular 将值识别为不安全并自动对其进行清理, 删除标签但保留安全内容,例如 元素。
当我去 React 官方文档时,
https://reactjs.org/docs/introducing-jsx.html#jsx-prevents-injection-attacks
,上面写着:
在 JSX 中嵌入用户输入是安全的:
和:
默认情况下,React DOM 会转义之前嵌入 JSX 中的任何值 渲染它们。因此,它确保您永远不会注入任何东西 这没有明确写在你的应用程序中。一切都是 在渲染之前转换为字符串。这有助于防止 XSS (跨站点脚本)攻击。
但是对于 Vue,我在他们的文档中找不到任何关于 XSS 保护的内容,或者他们可以默认提供的任何内容。
我的问题:默认情况下,Vue 是否提供任何针对 XSS 攻击的保护方式,还是我需要寻找第三方解决方案?
当我在谷歌上搜索这个主题时,我会得到很多博客文章网站和文章,例如,这个项目用于清理我的 HTML:
【问题讨论】:
-
不确定,是否有任何自动化,但有
v-text与v-html。 -
vuejs.org/v2/guide/syntax.html#Raw-HTML -> 这就是你要找的。他们没有提到 XSS 本身,也不需要提到它本身。如果 HTML 被转义,则无法嵌入任何内容,因此存在缓解的基础。
-
我使用 vue 和 firebase firestore 构建了一个小型应用程序,并使用 v-html 以便我可以在我的表单中编写 html 并在从 firestore 获取时呈现它。所有标签都用于格式化目的(ul、i 等),但我无法运行脚本标签,所以我怀疑 vue 现在正在清理或 firestore 正在......
标签: javascript angular reactjs vue.js xss