Mô tả
Safe SVG cho phép bạn tải file SVG lên website!
Plugin cho phép bạn file SVG lên website đồng thời đảm bảo chúng được làm sạch để ngăn chặn các lỗ hổng bảo mật SVG/XML ảnh hưởng đến web bạn. Ngoài ra, nó còn cho phép bạn xem trước các fileSVG đã tải lên trong thư viện media ở mọi chế độ xem.
Tính năng hiện có
- Sanitised SVG (Làm sạch SVG) – Loại bỏ các lỗ hổng bảo mật trong file SVG trước khi tải lên website.
- Tối ưu SVGO – Tải SVG thông qua công cụ SVGO để tiết kiệm dung lượng. Mặc định tính năng này đã bị tắt nhưng bạn có thể bật nó thông qua code sau:
add_filter( 'safe_svg_optimizer_enabled', '__return_true' ); - Xem SVG trong Thư viện – Bạn có thể xem trực tiếp file SVG trong Thư viện như khi xem ảnh.
- Cấp quyền tải lên – Có thể cấp quyền tải file SVG cho những tài khoản nhất định trên web.
Plugin được phát hành để giải quyết vấn đề #24251.
SVG Sanitization bằng thư viện: https://github.com/darylldoyle/svg-sanitizer.
Tối ưu dung lượng SVG bằng thư viện: https://github.com/svg/svgo.
Khối
Plugin này cung cấp 1 khối.
- Safe SVG Display the SVG icon
Cài đặt
Cài đặt qua thư mục WordPress hoặc tải xuống, giải nén và tải các tệp lên thư mục /wp-content/plugins/.
Hỏi đáp
-
Tất nhiên, bạn có thể thực hiện thông qua filter
svg_allowed_attributesvàsvg_allowed_tagsfilters.
Chúng nhận một đối số (argument) và phải trả về đối số (return) đó. Xem các ví dụ bên dưới: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; } );
Đánh giá
Người đóng góp & Lập trình viên
“Safe SVG” là mã nguồn mở. Những người sau đã đóng góp vào plugin này.
Những người đóng góp“Safe SVG” đã được dịch qua 29 ngôn ngữ. Cảm ơn những người tham gia dịch vì đóng góp của họ.
Dịch “Safe SVG” sang ngôn ngữ của bạn.
Muốn tham gia phát triển?
Duyệt code, check out SVN repository, hoặc theo dõi nhật ký phát triển qua RSS.
Nhật ký thay đổi
2.4.0 – 2025-09-22
- Added: Ability to upload SVGs from more admin locations (props @stormrockwell, @darylldoyle, @wpexplorer, @smerriman, @jeffpaul, @dkotter via #279).
- Changed: Added
$attachment_idargument to filterssafe_svg_use_width_height_attributesandsafe_svg_dimensions(props @roborourke, @dkotter via #278). - Fixed: Inconsistent or incorrect data type for
$svgargument in the filterssafe_svg_use_width_height_attributesandsafe_svg_dimensions(props @roborourke, @dkotter via #278).
2.3.3 – 2025-08-13
- Security: Update the
enshrined/svg-sanitizepackage from0.19.0to0.22.0to fix an issue with case-insensitive attributes slipping through the sanitiser and address PHP 8.4 deprecation warnings (props @darylldoyle, @sudar, @georgestephanis, @dkotter, @realazizk via #268, #272). - Security: Bump
form-datafrom 4.0.0 to 4.0.4 (props @dependabot, @faisal-alvi via #270). - Security: Bump
tmpfrom 0.2.3 to 0.2.5 and@inquirer/editorfrom 4.2.9 to 4.2.16 (props @dependabot, @dkotter via #271).
2.3.2 – 2025-07-21
- Fixed: Visual parity between the front end and the block editor (props @s3rgiosan, @dkotter via #261, #266).
- Changed: Bump WordPress “tested up to” version 6.8 (props @godleman, @jeffpaul, @dkotter via #251, #254).
- Changed: Bump WordPress minimum supported version to 6.6 (props @godleman, @jeffpaul, @dkotter via #254).
- Security: Bump
wsfrom 7.5.10 to 8.18.0,@wordpress/scriptsfrom 27.9.0 to 30.6.0,nanoidfrom 3.3.7 to 3.3.8 andmochafrom 10.2.0 to 11.0.1 (props @dependabot, @peterwilsoncc via #245). - Security: Bump
@babel/runtimefrom 7.23.9 to 7.27.0,axiosfrom 1.7.4 to 1.8.4,cookiefrom 0.4.2 to 0.7.1,expressfrom 4.21.0 to 4.21.2 and@wordpress/e2e-test-utils-playwrightfrom 0.26.0 to 1.20.0 (props @dependabot, @dkotter via #250). - Security: Bump
http-proxy-middlewarefrom 2.0.6 to 2.0.9 (props @dependabot, @iamdharmesh via #253). - Security: Bump
tar-fsfrom 3.0.8 to 3.0.9 (props @dependabot, @dkotter via #258). - Security: Bump
bytesfrom 3.0.0 to 3.1.2 andcompressionfrom 1.7.4 to 1.8.1 (props @dependabot, @dkotter via #265).
2.3.1 – 2024-12-05
- Fixed: Revert changes made to how we determine custom dimensions for SVGs (props @dkotter, @martinpl, @subfighter3, @smerriman, @gigatyrant, @jeffpaul, @iamdharmesh via #238).
2.3.0 – 2024-11-25
- Added: New setting that allows large SVG files (roughly 10MB or greater) to be uploaded and sanitized properly (props @kirtangajjar, @faisal-alvi, @darylldoyle, @manojsiddoji, @dkotter via #201).
- Added: New
get_svg_dimensionsfunction in order to reduce code duplication (props @gabriel-glo, @jeremymoore, @darylldoyle, @iamdharmesh, @dkotter via #216). - Changed: Updated the
enshrined/svg-sanitizepackage from 0.16.0 to 0.19.0 to fix a PHP 8.3 compatibility issue (props @sksaju, @TylerB24890, @darylldoyle, @rolf-yoast, @faisal-alvi via #214). - Changed: Update how image dimensions are passed in
get_image_tag_overrideandone_pixel_fixmethods (props @gabriel-glo, @jeremymoore, @darylldoyle, @iamdharmesh, @dkotter via #216). - Changed: Bump WordPress “tested up to” version to 6.7 (props @colinswinney, @jeffpaul via #232, #233).
- Changed: Bump WordPress minimum from 6.4 to 6.5 (props @colinswinney, @jeffpaul via #232, #233).
- Changed: Remove composer dev dependencies from archived project (props @TylerB24890, @szepeviktor, @peterwilsoncc via #220).
- Fixed: Use proper block category for the Safe SVG Icon block (props @kirtangajjar, @fabiankaegy via #226).
- Security: Only allow SVG file types to be uploaded if our sanitizer is able to run on those files (props @darylldoyle, @xknown, @dkotter via #228).
- Security: Bump
webpackfrom 5.90.1 to 5.94.0 (props @dependabot, @peterwilsoncc via #222). - Security: Bump
wsfrom 7.5.10 to 8.18.0,serve-staticfrom 1.15.0 to 1.16.2 andexpressfrom 4.19.2 to 4.21.0 (props @dependabot, @Sidsector9, @faisal-alvi via #227, #230, #234).
2.2.6 – 2024-08-28
- Đã thay đổi: Tăng phiên bản WordPress “đã kiểm tra đến” lên 6.6 (được thực hiện bởi @sudip-md, @ankitguptaindia, @jeffpaul thông qua #212, #213).
- Đã thay đổi: Tăng phiên bản WordPress tối thiểu từ 5.7 lên 6.4 (được thực hiện bởi @sudip-md, @ankitguptaindia, @jeffpaul thông qua #212, #213).
- Bảo mật: Thêm svg sanitization vào filter
wp_handle_sideload_prefilter(được thực hiện bởi @dkotter, @xknown, @iamdharmesh thông qua GHSA-3vr7-86pg-hf4g). - Bảo mật: Nâng cấp
bracestừ 3.0.2 lên 3.0.3,pac-resolvertừ 7.0.0 lên 7.0.1,sockstừ 2.7.1 lên 2.8.3,wstừ 7.5.9 lên 7.5.10 và loại bỏip(được thực hiện bởi @dependabot, @Sidsector9 thông qua #206). - Bảo mật: Nâng cấp
axiostừ phiên bản 1.6.7 lên 1.7.4 (được thực hiện bởi @dependabot, @faisal-alvi thông qua #218).
