Nie*_*man 7 javascript xss reactjs vue.js angular
我试图弄清楚如何保护,
抵抗XSS攻击。当我访问Angular官方文档时,
https://angular.io/guide/security
, 它说:
为了系统地阻止XSS错误,默认情况下,Angular将所有值视为不可信。当通过属性,属性,样式,类绑定或插值将值从模板插入DOM时,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攻击的方法,还是我需要寻找第三方解决方案?
当我用Google搜索该主题时,我会看到很多博客文章站点和文章,这些文章和文章引用了例如该项目来净化HTML的项目:
Vue中没有内置的消毒剂。根据Evan You(Vue的创作者)对一个问题的评论
内置的消毒剂会为罕见的用例(当大多数v-html用例用于可信内容时)增加额外的包重;通过设置Vue.prototype。$ sanitize = sanitizeHTML然后添加v-html =“ $ sanitize(html)”来添加sanitize-html也很简单。
检查这篇文章:https : //github.com/vuejs/vue/issues/6333
小智 5
帮助防范 XSS 的一种方法是在 html head 中添加内容安全策略。它的工作原理是限制页面可以加载的资源(脚本、图像)以及限制页面的框架。
例如,以下指令仅允许从与页面本身和“apis.google.com”相同的源加载脚本。
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://apis.google.com">
还有其他 CSP 设置可用于帮助减轻 XSS 攻击,例如随机数和哈希值。欲了解更多信息,请访问:https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
| 归档时间: |
|
| 查看次数: |
2987 次 |
| 最近记录: |