如何验证 Markdown 代码以防止 XSS 攻击?

How to validate Markdown Code to prevent XSS attacks?

我想建立一个博客,这样用户就可以编写 markdown 内容并将其提交到我的服务器 postgresql,其中将在发布时在客户端获取并生成。但是,我认为这会 运行 变成 XSS 攻击。这个问题的常见策略是什么?

Markdown 本身不会引入任何 XSS 攻击问题。当您尝试将其转换为 HTML.

时会出现问题

您要做的是验证在呈现它时是否转义标签内的文本。

例如你有 # Some Title with <script> </script>

这将变成 <h1>Some Title with <script> </script></h1>。这会导致问题,但是如果你在文本中转义 HTML 符号,你会得到这个

<h1>Some Title with &lt;script&gt; &lt;/script&gt; </h1>