darylldoyle / safe-svg
启用SVG上传并对其进行清理,以阻止WordPress网站中的XML/SVG漏洞
Requires
- php: >=7.4
- enshrined/svg-sanitize: ^0.16.0
Requires (Dev)
- 10up/phpcs-composer: dev-master
- 10up/wp_mock: ^0.4.2
- yoast/phpunit-polyfills: ^1.0
- dev-develop
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.9.10
- 1.9.9
- 1.9.8
- 1.9.7
- 1.9.6
- 1.9.5
- 1.9.4
- dev-dependabot/npm_and_yarn/npm_and_yarn-82c7daa862
- dev-6-svg-height-and-width-attributes
- dev-fix/large-svg-items
- dev-trunk
- dev-feature/disable-optimizer-by-default
- dev-feature/svgo-api-integrations
This package is auto-updated.
Last update: 2024-09-18 15:25:57 UTC
README
启用SVG上传并对其进行清理,以阻止WordPress网站中的XML/SVG漏洞。
概述
Safe SVG是WordPress中允许上传SVG的最佳方式!
它允许您允许SVG上传,同时确保它们被清理以防止SVG/XML漏洞影响您的网站。它还允许您在媒体库的所有视图中预览上传的SVG。
当前功能
- 清理后的SVG - 不要通过允许上传未清理的文件来在WordPress网站上打开安全漏洞。
- SVGO优化 - 在上传时通过SVGO工具运行您的SVG,以节省空间。此功能默认禁用,但可以通过添加以下代码启用:
add_filter( 'safe_svg_optimizer_enabled', '__return_true' );
- 在媒体库中查看SVG - 不再需要猜测哪个SVG是正确的,我们将在WordPress媒体库中启用SVG预览。
- 选择谁可以上传 - 限制WordPress网站上某些用户的SVG上传或允许任何人上传。
最初是#24251的证明概念。
SVG清理是通过以下库完成的: https://github.com/darylldoyle/svg-sanitizer.
SVG优化是通过以下库完成的: https://github.com/svg/svgo.
要求
- PHP 7.4+
- WordPress 6.4+
安装
通过WordPress目录安装或下载,解压缩并将文件上传到您的/wp-content/plugins/
目录。
常见问题解答
我们可以更改允许的属性和标签吗?
是的,这可以通过使用svg_allowed_attributes
和svg_allowed_tags
过滤器来完成。它们接受一个必须返回的参数。下面是示例
add_filter( 'svg_allowed_attributes', function ( $attributes ) { // Do what you want here... // This should return an array so add your attributes to // to the $attributes array before returning it. E.G. $attributes[] = 'target'; // This would allow the target="" attribute. return $attributes; } ); add_filter( 'svg_allowed_tags', function ( $tags ) { // Do what you want here... // This should return an array so add your tags to // to the $tags array before returning it. E.G. $tags[] = 'use'; // This would allow the <use> element. return $tags; } );
支持级别
稳定:10up不打算为此开发任何新功能,但仍将响应错误报告和安全问题。我们欢迎PR,但任何包含新功能都应该很小且易于集成,不应包括破坏性更改。我们打算将此测试到最新的WordPress版本。
变更日志
所有Safe SVG的显著变更均记录在CHANGELOG.md中。
贡献
请阅读CODE_OF_CONDUCT.md以获取有关我们行为准则的详细信息,CONTRIBUTING.md以获取有关向我们提交pull请求的详细说明,以及CREDITS.md以列出Safe SVG的维护者、贡献者和使用的库。