phlib/xss-sanitizer

PHP XSS 清理工具,用于 HTML

2.1.0 2024-06-08 06:18 UTC

This package is auto-updated.

Last update: 2024-09-08 06:48:03 UTC


README

Code Checks Codecov Latest Stable Version Total Downloads Licence

PHP XSS 清理工具,用于 HTML

免责声明

使用 HTML Purifier.

此库旨在在不使用宽容列表的情况下解决 XSS 清理问题,因为被清理的 HTML 可能包含非标准或非同寻常的语法(例如电子邮件的 HTML)。

此库还旨在用于有限的使用场景,假设清理后的 HTML 只将在一组有限的受支持浏览器中显示(例如,无需删除 'vbscript:' 代码)。

安装

通过 Composer

$ composer require phlib/xss-sanitizer

用法

创建一个清理器并清理一些输入

$sanitizer = new \Phlib\XssSanitizer\Sanitizer();
$sanitized = $sanitizer->sanitize($htmlInput);

可选地,可以指定要删除的额外标签和/或属性,包括默认值

$removeBlocks = ['xss'];
$removeAttributes = ['onwebkittransitionend'];
$sanitizer = new \Phlib\XssSanitizer\Sanitizer($removeBlocks, $removeAttributes);
$sanitized = $sanitizer->sanitize($htmlInput);

支持的浏览器

此库旨在防止以下浏览器渲染结果 HTML 时出现 XSS 漏洞

  • Chrome (40+)
  • Firefox (40+)
  • Safari (8+)
  • IE (10, 11)
  • Edge

许可协议

本软件包是免费软件:您可以在免费软件基金会发布的GNU通用公共许可证条款下重新分发和/或修改它,许可证版本为3,或者(根据您的选择)许可证的任何后续版本。

本程序的分发是希望它有用,但没有任何保证;甚至没有关于其适销性或适用于特定目的的隐含保证。有关详细信息,请参阅GNU通用公共许可证。

您应该已随本程序收到一份GNU通用公共许可证副本。如果没有,请参阅https://gnu.ac.cn/licenses/