我现在在Vue Documenteation about Raw HTML状态下可以使用v-html
呈现一些内部html。我承认这是合法且最简单的方法,但是由于我非常担心,因此我无法停止思考是否可以在Web项目中安全地使用它。假设我仅将此v-html
用于呈现一些html标签,例如br
,span
等。
但是在文档中,他们清楚地这样声明:
动态地在您的网站上呈现任意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
仅用于文本标签,例如h1
,h2
,h3
等。>
我现在在有关原始HTML的Vue文档中,我们可以使用v-html呈现一些内部html。我承认这是合法且最简单的技巧,但由于我非常担心...
我认为您首先要问自己的问题是,为什么首先要这样绑定HTML。请记住,Vue中模板的全部目的是对状态进行反应式绑定。与使用香草Javascript或Jquery不同,您不想主动更改DOM-Vue会在属性更新时为您处理所有这些操作。