gpt4 book ai didi

php - 摆脱 XSS 漏洞维护 Markdown 语法?

转载 作者:可可西里 更新时间:2023-11-01 00:50:02 25 4
gpt4 key购买 nike

我打算使用 Markdown syntax在我的网页中。我会将用户输入(原始的、没有转义的或其他的)保存在数据库中,然后像往常一样打印出来并使用 htmlspecialchars() 即时转义。 .

这是它的样子:

echo markdown(htmlspecialchars($content));

通过这样做,我可以免受 XSS 漏洞和 Markdown 的影响。或者,至少,有点工作。

问题是,比方说,> 语法(我认为还有其他情况)。

简而言之,引用你做这样的事情:

> 这是我的引述。

在转义并解析为 Markdown 之后,我得到了这个:

>这是我的引述。

自然地,Markdown 解析器不会> 识别为“引用的符号”,它不会工作! :(

我来这里是为了解决这个问题。一个想法是:

首先,解析为 Markdown,— 然后是 HTML Purifier删除“坏的部分”。

你怎么看?它真的有用吗?

我敢肯定有人遇到过同样的情况,他也可以帮助我。 :)

最佳答案

是的,某个网站也有完全相同的情况。在我写这篇文章的时候,你在那个网站上有 1664 的声誉:)

在 Stack Overflow 上,我们完全按照您的描述进行操作(除了我们不会即时渲染)。用户输入的 Markdown 源被转换为纯 HTML,然后使用白名单方法(JavaScript version,C# 版本part 1part 2)对结果进行清理。

这与 HTML Purifier 采用的方法相同(我从未使用过它,但我不能说出细节)。

关于php - 摆脱 XSS 漏洞维护 Markdown 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616906/

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