snebes / html-sanitizer
清理 HTML5 字符串
v1.0.4
2023-02-08 16:37 UTC
Requires
- php: ^7.1.3|^8.0
- ext-dom: *
- ext-mbstring: *
- masterminds/html5: ^2.0
- psr/log: ^1.0|^2.0
- symfony/options-resolver: ^3.0|^4.0|^5.0|^6.0
Requires (Dev)
- phpunit/phpunit: ^7.5|^8.0
README
html-sanitizer 是一个库,旨在处理、清理和消毒外部用户(您无法信任的用户)发送的 HTML,允许您安全地存储和显示。它提供了明智的默认设置,以提供出色的开发者体验,同时仍然完全可配置。
内部,消毒器对 HTML 有深刻的理解:它解析输入并创建一个 DOMNode 对象的树,然后仅使用内容中的安全元素。通过使用这种技术,它是安全的(它与严格的白名单一起工作),快速的并且易于扩展。
它还提供了有用的功能,例如将图像或 iframe URL 转换为 HTTPS 的可能性。
安全问题
如果您在消毒器中发现安全漏洞,请遵循 我们的披露程序。
向后兼容性承诺
此库遵循与 Symfony 框架相同的向后兼容性承诺:https://symfony.com.cn/doc/current/contributing/code/bc.html
注意:此库中的许多类要么被标记为
@final
,要么被标记为@internal
。被标记为@internal
的类不受任何向后兼容性承诺的限制(您不应在您的代码中使用它们),而标记为@final
的类可以用于但不应扩展(使用组合代替)。
感谢
多谢
- 开放网络应用安全项目 (OWASP),其中许多测试都是从该库中提取的(特别是从 OWASP/java-html-sanitizer 中提取的);
- Masterminds/html5-php,这是一个出色的 HTML5 解析器,默认情况下在此库中使用;
- tgalopin/html-sanitizer:此库是从中分叉的。