npm 包@gerhobbelt/markdown-it-sanitizer使用教程

阅读时长 5 分钟读完

Markdown是一种轻量级的标记语言,通常用于编写技术文档和博客文章。随着网页应用程序的发展,许多前端开发人员选择使用Markdown来编写文档、注释和博客文章。但是,Markdown中的HTML代码可以导致安全漏洞和跨站点脚本攻击。为了避免这些问题,我们可以使用@gerhobbelt/markdown-it-sanitizer npm包,这是一种安全的Markdown渲染器,可以过滤掉危险的HTML代码和JavaScript。

安装

要使用@gerhobbelt/markdown-it-sanitizer npm包,您需要先安装Node.js和npm。安装完成后,您可以在终端中使用以下命令安装@gerhobbelt/markdown-it-sanitizer:

用法

要使用@gerhobbelt/markdown-it-sanitizer,您需要先导入它:

然后,您可以像往常一样使用markdown-it来渲染Markdown文本。@gerhobbelt/markdown-it-sanitizer将在渲染时自动过滤掉危险的HTML代码和JavaScript。

例如,以下代码将渲染Markdown文本,并将其作为HTML添加到一个div元素中:

-- -------------------- ---- -------
----- -- - -------------------------
----- --------- - ---------------------------------------------

----------------- - -- ------- -- ---

----- ------------ - -- ------ ------------------------------------
----- ---- - ------------------------

----- --------- - -------------------------------------
------------------- - -----

选项

@gerhobbelt/markdown-it-sanitizer支持以下选项:

  • allowedTags:一组允许的HTML标记。默认情况下,它包括a、abbr、b、blockquote、code、del、dd、div、dl、dt、em、h1、h2、h3、h4、h5、h6、hr、i、img、kbd、li、ol、p、pre、s、strike、strong、sub、sup、ul、br、ulink和span。
  • allowedAttributes:一组允许的HTML属性。默认情况下,它包括href、src、align、alt、title、width、height、class、name、target、rel、id、lang、dir、cite、datetime、style和xml:lang。

例如,以下代码使用allowedTags选项来限制允许的HTML标记:

效果示例

以下是一个示例Markdown文本:

Markdown-it将该文本转换为以下HTML:

注意,<script>标记已经被过滤掉了,因为它是不安全的HTML代码。</p> <h2>结论</h2> <p>使用@gerhobbelt/markdown-it-sanitizer npm包,我们可以使用Markdown编写文档、注释和博客文章,而不必担心安全问题。@gerhobbelt/markdown-it-sanitizer过滤掉危险的HTML代码和JavaScript,从而保护您的应用程序不受攻击。为了获得最佳结果,请在使用该软件包时,使用适当的选项来限制允许的HTML标记和属性。</p> <blockquote> <p>来源:<a href="https://www.javascriptcn.com/post/5f02c870403f2923b035bd8d">JavaScript中文网</a> ,转载请注明来源 <a href="https://www.javascriptcn.com/post/5f02c870403f2923b035bd8d">https://www.javascriptcn.com/post/5f02c870403f2923b035bd8d</a></p> </blockquote>

纠错
反馈