在Vue3中安全地显示Markdown为HTML
P粉616383625
P粉616383625 2024-01-10 16:57:01
[Vue.js讨论组]

所以我有一组字符串,其中有一些我创建的“自定义降价”。我的目的是在前端将这些字符串呈现为 HTML。假设我有这个字符串:

This is a string that I need tonrender safely in the browser. This is some trailing text

我希望得到类似的东西:

This is a string that I need to
render
safely 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,这看起来是允许我正在使用的 divspanbr 标签的好方法,并设置所有标签的属性仅允许为 class。这足够安全吗?我还应该做些什么吗?

这样的话,我相信也没有必要在后端对其进行清理,对吧?也就是说,即使服务器中的字符串包含 ,Web 浏览器也无法执行恶意代码,对吗?

P粉616383625
P粉616383625

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号