gpt4 book ai didi

c# - 渲染作为 Markdown 上传并将服务器端转换为 Html 的 Html 是否安全?

转载 作者:太空宇宙 更新时间:2023-11-03 21:03:24 27 4
gpt4 key购买 nike

我有一个网络表单,允许用户将文本上传为 Markdown。

Markdown 在服务器上转换为 Html(使用 Markdig)并存储。

当显示用户上传的转换后的 Html 时,我是否应该对内容进行 @Html.Encode - 该项目使用 c#,MVC 5/razor 并启用了请求验证。

最佳答案

一般要看markdown转换器。

默认情况下 Markdig 不会转义 html。但是,您可以在管道中使用 DisableHtml 函数来转义之前扩展未处理的所有剩余 HTML 可编码字符串。这也应该比让反 xss 函数再次运行字符串提供更好的性能。

看例子:

var pipeline = new MarkdownPipelineBuilder().DisableHtml().Build();
var result = Markdig.Markdown.ToHtml("<a href='javascript:evil()'>hello</a>", pipeline);

关于c# - 渲染作为 Markdown 上传并将服务器端转换为 Html 的 Html 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090491/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com