当您想要插入格式化文本时,innerHTML替换的现代最佳实践



据我所知,在元素上设置innerHTML是不好的,因为如果新内容来自用户,恶意用户可以使用它来注入<script>标签和其他有害内容。

正如这个问题所表明的,现在大约有八个不同的替代标签(有些是非标准的(。

在我的情况下,我希望能够插入实际的html标记,如<b><i>,甚至<a>

但我从不需要插入<script>

是否有标准化的最佳实践替代innerHTML使用香草Javascript?

如果你自己做的话,有一百万件事你可以搞砸,这将允许XSS。你最好的选择是一个库来为你净化html。

查看此处的一些选项Sanitize/Rewrite HTML on the Client Side

净化后,你设置的属性就不那么重要了。

最新更新