有没有什么简单的方法可以允许所有 MathML 标签在 HTML Purifier 中具有属性?
我试图将所有 MathML 标签从https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics具有属性HTML.Allowed
但我不知道这是否是正确的方法。
目前 HTML Purifier 中没有对 MathML 的本机支持。有一个旧的拉取请求,您可以重新调整用途here https://github.com/ezyang/htmlpurifier/pull/200,但由于它已有几年历史,修补它几乎肯定需要大量的手动工作;也可以看看这里有一些讨论 https://groups.google.com/g/htmlpurifier/c/YsfMBcdGm-I/m/2fmT-HrHCQAJ:
首要考虑的是安全性。当添加一个非常大的新内容时
像MathML这样的扩展,很容易偷工减料,而不是
真正理解规范的每个角落并构建解析器
那truly理解它所读到的内容,而不仅仅是检查
语法盲目。
或者你可以使用定制指南 http://htmlpurifier.org/docs/enduser-customize.html将它们作为新标签和属性添加到 HTML Purifier,但这会增加工作量,而不是减少工作量。
只需添加标签即可HTML.Allowed
不会做太多事情 - HTML Purifier 的优势在于它了解标签出现的上下文、允许它们出现的位置以及对其属性有意义的限制(例如,像“width”这样的属性采用整数,但像“style”采用 CSS(将单独清理),而像“onclick”这样的属性根据定义是不安全的)。如果 HTML Purifier 对特定标记一无所知,即使您将其添加到白名单中,它也不会允许这样做,因为它不知道如何实际处理该标记。
简而言之:
不,不幸的是没有简单的方法可以在 HTML Purifier 中允许 MathML。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)