所以我有一组字符串,其中有一些我创建的“自定义降价”。我的目的是在前端将这些字符串呈现为 HTML。假设我有这个字符串:
This is a stringthat I need tonrendersafely in the browser . This is some trailing text
我希望得到类似的东西:
This is a string that I need to
rendersafely in the browser. This is some trailing text
我现在的做法是使用一些基本的正则表达式:
toHtml = text
.replace(/(.*) /gim, "$1")
.replace(/\n/g, "
")
.replace(/(.*) /gims, "$1")
这工作正常并返回正确的字符串。然后进行打印,在模板中我只需:
我的问题是,在某些时候我希望用户能够自己输入这些字符串,并且这也会显示给其他用户。所以可以肯定的是,我很容易受到 XSS 攻击。
有什么替代方法可以避免这种情况吗?我一直在查看https://github.com/Vannsl/vue-3-sanitize,这看起来是允许我正在使用的 div、span 和 br 标签的好方法,并设置所有标签的属性仅允许为 class。这足够安全吗?我还应该做些什么吗?
这样的话,我相信也没有必要在后端对其进行清理,对吧?也就是说,即使服务器中的字符串包含 ,Web 浏览器也无法执行恶意代码,对吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号