HTMLPurifier,检查整个HTML文档

问题描述 投票:0回答:4

我正在使用 HTMLPurifier 检查整个 HTML 文档中是否存在 XSS。问题是它似乎删除了

<body>
标签内的任何内容。但是,我想保留一切,只是留意严重的 XSS 攻击。

有什么想法如何允许

<HTML>
<HEAD>
<META>
等吗?

php html htmlpurifier
4个回答
4
投票

David,我刚刚在 HTMLPurifier 支持论坛上搜索,发现你很忙。

但也许您错过了几个月前的帖子,解决了您的确切问题,特别是回复:

完整的文档支持 (表面上)来一段时间 HTML净化器5.x系列;我们不 其实有解析代码 需要实际处理完整的 HTML 文档。

在那之前,您需要捕获您的头部和 DTD 并将其重新添加到纯化的文档中。


0
投票

请记住,您可以构建从“头部”运行的 XSS 攻击。


0
投票

您可以告诉 HTML Purifier 纯化的代码将位于哪个标签内(默认为“div”)。将其设置为“span”将阻止所有块级标签。您可以尝试将其设置为“body”,甚至“html”。


0
投票

因此,这需要一些工作,但您可以自己实现。

所有步骤在这里解释起来都太多了,但我遇到了完全相同的问题。我想将 HTML 内容作为整个文档进行清理,并且必须找出困难的方法,即该库在幕后是如何工作的。

简而言之:

  • 必须更改一些设置
  • 自定义元素和属性必须与配置一起使用

我已经在博客上详细解释了基于商店软件的用例的方法:https://machinateur.dev/blog/how-to-sanitize-full-html-5-documents-with-htmlpurifier .

© www.soinside.com 2019 - 2024. All rights reserved.