Opis
Bezpieczny SVG to najlepszy sposób na zezwolenie na przesyłanie plików SVG w WordPressie!
Daje możliwość zezwalania na przesyłanie plików SVG przy jednoczesnym upewnieniu się, że są one oczyszczone, aby luki w SVG/XML nie miały wpływu na witrynę. Daje również możliwość podglądu przesłanych plików SVG w bibliotece multimediów we wszystkich widokach.
Aktualne funkcje
- Czyszczenie plików SVG – nie otwieraj luk bezpieczeństwa w swoim WordPressie, zezwalając na przesyłanie nieoczyszczonych plików.
- Optymalizacja SVGO – uruchamia się narzędzie SVGO podczas przesyłania plików SVG, aby zaoszczędzić miejsce. Funkcja jest domyślnie wyłączona, ale można ją włączyć, dodając następujący kod:
add_filter( 'safe_svg_optimizer_enabled', '__return_true' );. - Przeglądaj pliki SVG w bibliotece mediów – dawno minęły czasy zgadywania, który plik SVG jest prawidłowy, włączymy podgląd SVG w bibliotece mediów WordPressa.
- Wybierz, kto może przesyłać pliki – ogranicz przesyłanie plików SVG do określonych użytkowników w witrynie lub zezwól każdemu na ich przesyłanie.
Początkowo był to dowód koncepcji dla #24251.
Oczyszczanie SVG odbywa się za pośrednictwem biblioteki: https://github.com/darylldoyle/svg-sanitizer.
Optymalizacja SVG odbywa się przy użyciu biblioteki: https://github.com/svg/svgo.
Bloki
Wtyczka dodaje 1 blok.
- Safe SVG Display the SVG icon
Instalacja
Zainstaluj przez katalog WordPressa lub pobierz, rozpakuj i prześlij pliki do katalogu /wp-content/plugins/.
Najczęściej zadawane pytania
-
Tak, można to zrobić za pomocą filtrów
svg_allowed_attributesisvg_allowed_tags.
Przyjmują one jeden argument, który musi zostać zwrócony. Zobacz przykłady poniżej: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; } );
Recenzje
Kontrybutorzy i deweloperzy
„Bezpieczny SVG” jest oprogramowaniem open source. Poniższe osoby miały wkład w rozwój wtyczki.
ZaangażowaniWtyczka „Bezpieczny SVG” została przetłumaczona na 29 języków. Podziękuj tłumaczom za ich wkład.
Przetłumacz wtyczkę “Bezpieczny SVG” na swój język.
Interesuje cię rozwój wtyczki?
Przeglądaj kod, sprawdź repozytorium SVN lub czytaj dziennik rozwoju przez RSS.
Rejestr zmian
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
- Changed: Bump WordPress „tested up to” version to 6.6 (props @sudip-md, @ankitguptaindia, @jeffpaul via #212, #213).
- Changed: Bump WordPress minimum from 5.7 to 6.4 (props @sudip-md, @ankitguptaindia, @jeffpaul via #212, #213).
- Bezpieczeństwo: dodano czyszczenie SVG w filtrze
wp_handle_sideload_prefilter(podziękowania @dkotter, @xknown, @iamdharmesh w GHSA-3vr7-86pg-hf4g). - Bezpieczeństwo: zaktualizowano
bracesz 3.0.2 do 3.0.3,pac-resolverz 7.0.0 do 7.0.1,socksz 2.7.1 do 2.8.3,wsz 7.5.9 do 7.5.10 i usuńip(rekwizyty @dependabot, @Sidsector9 w #206). - Security: Bump
axiosfrom 1.6.7 to 1.7.4 (props @dependabot, @faisal-alvi via #218).
