V-html仅用于文本,安全吗?

问题描述 投票:0回答:1

我现在在Vue Documenteation about Raw HTML状态下可以使用v-html呈现一些内部html。我承认这是合法且最简单的方法,但是由于我非常担心,因此我无法停止思考是否可以在Web项目中安全地使用它。假设我仅将此v-html用于呈现一些html标签,例如brspan等。

但是在文档中,他们清楚地这样声明:

动态地在您的网站上呈现任意HTML可能非常危险,因为它很容易导致XSS漏洞。只用对可信内容进行HTML插值,而在用户未提供的内容上进行HTML插值内容。

如果我仅将v-html用于此代码之类的vue组件中的文本呈现,并且没有input标记,那么对于XSS Vulnerabilities攻击或Cross-site Scripting是否安全?

<template>
 <div>
  <h2 v-html="header" />
  <h2 class="bold" v-html="bHeader" />
  <h2 class="italic" v-html="iHeader" />
  <h2 class="text-muted" v-html="mHeader" />
 </div>
</template>

有人可以帮我吗?我对此感到非常困惑,实际上我只将此v-html仅用于文本标签,例如h1h2h3等。>

我现在在有关原始HTML的Vue文档中,我们可以使用v-html呈现一些内部html。我承认这是合法且最简单的技巧,但由于我非常担心...

javascript html vue.js xss
1个回答
0
投票

我认为您首先要问自己的问题是,为什么首先要这样绑定HTML。请记住,Vue中模板的全部目的是对状态进行反应式绑定。与使用香草Javascript或Jquery不同,您不想主动更改DOM-Vue会在属性更新时为您处理所有这些操作。

© www.soinside.com 2019 - 2024. All rights reserved.