提问人:Milano 提问时间:6/26/2023 更新时间:6/26/2023 访问量:43
带有标记的 sanitizeHtml 无法正确呈现特殊字符(& 是 & 然后是 &放大器)
sanitizeHtml with marked doesn't render special characters correctly (& is & and then &amp)
问:
我正在尝试使用(使用标记)呈现用户输入。SvelteMarkdown
步骤如下:
- 使用 sanitizeHtml 清理用户输入
- 经过清理的用户输入将呈现在
SvelteMarkdown
html
问题在于它不会呈现应显示的特殊字符。这是因为它们被转换了两次。
- 输入“Tom & Jerry”
sanitizeHtml("Tom & Jerry")
>"Tom & Jerry"
- 这是浏览器正确呈现它所需的格式SvelteMarkdown("Tom & Jerry")
>"Tom & Jerry"
不确定如何在保持安全措施的同时做到这一点。当我不使用时,很多事情可能会变坏,例如在内容呈现后打开警报窗口。sanitizeHtml
<img src='x' onerror='alert("XSS")'>
我想做的是渲染一些字符,如“<”、“>”、“&”等,但在我处理用户生成的内容时仍然是“安全的”。
有什么解决办法吗?
答: 暂无答案
评论
marked