Safe SVG

Описание

Safe SVG — лучший способ разрешить загрузку SVG в WordPress!

Это дает вам возможность разрешать загрузку SVG, в то же время следя за тем, чтобы они были очищены, чтобы предотвратить уязвимости SVG / XML, влияющие на ваш сайт.
Это также дает вам возможность просматривать загруженные SVG-файлы в медиа-библиотеке во всех размерах.

Нравится Safe SVG? Попробуй Pro-версию с дополнительными возможностями.

Возможности бесплатной версии

  • Санитарные SVG-файлы — Не открывайте дыр в безопасности на своем сайте WordPress, разрешив загрузку файлов без проверки.
  • Просмотр SVG в библиотеке медиафайлов — Прошли те времена, когда мы угадывали, какой SVG является правильным, мы включим предварительный просмотр SVG в библиотеке мультимедиа WordPress.

Возможности Pro-версии

  • Оптимизация SVGO — У вас будет возможность запустить SVG через наш сервер SVGO при загрузке, чтобы сэкономить ваше место.
  • Выберите, кто может загружать — Ограничьте загрузку SVG определенным пользователям на вашем сайте WordPress или разрешите кому-либо загружать.
  • Премиум поддержка — Pro-пользователи получают премиум поддержку, в то время как на форумах WordPress предлагается бесплатная поддержка, когда у нас имеется на это свободное время.

Первоначальный концепт: #24251

Проверка на безопасность SVG выполняется с помощью следующей библиотеки:: https://github.com/darylldoyle/svg-sanitizer

Установка

Установить прямо через 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;
} );

Отзывы

05.03.2020
I was able to use an svg as a menu image for the site header using this in combination with the plugin "Menu Image" - without this plugin I couldn't do it.
29.12.2019
Thanks, I was able to export my artwork from Figma and upload SVG just like a normal raster image asset and it worked just as I had hoped - like other images.
12.11.2019
I had a SVG icon where is cloud on background and child as foreground. After upload, only the cloud from background is showed. The whole child is missing. Testes with 9 different icons, still the same. Only the background is showed.
Посмотреть 51 отзыв

Участники и разработчики

«Safe SVG» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

Перевести «Safe SVG» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

1.9.8

  • Базовое обновление библиотеки

1.9.7

  • Базовое обновление библиотеки

1.9.6

  • Базовое обновление библиотеки, что устраняет некоторые проблемы безопасности

1.9.5

  • Базовое обновление библиотеки, которое устраняет некоторые проблемы безопасности

1.9.4

  • Fixed a bug causing lots of error log output to do with safe_svg::fix_direct_image_output()

1.9.3

  • Fixed a bug causing 0 height and width SVGs

1.9.2

  • Fixed a warning about an Illegal string offset
  • Fixed an issue if something other than a WP_Post object is passed in via the wp_get_attachment_image_attributes filter.

1.9.1

  • Fixed a warning that was being generated by a change made in 1.9.0.

1.9.0

  • If an image is the correct ratio, allow skipping of the crop popup when setting header/logo images with SVGs.

1.8.1

  • Don’t let errors break upload if uploading an empty file
  • Fix featured image display in Gutenberg. Props @hendridm 🙂

1.8.0

  • Pull SVG dimensions from the width/height or viewbox attributes of the SVG.
  • Add the role=»img» attribute to SVGs

1.7.1

  • Updated underlying lib and added new filters for filtering allowed tags and attributes

1.6.1

  • Images will now use the size chosen when inserted into the page rather than default to 2000px everytime.

1.6.0

  • Fairly big new feature — The library now allows <use> elements as long as they don’t reference external files!
  • You can now also embed safe image types within the SVG and not have them stripped (PNG, GIF, JPG)

1.5.3

  • 1.5.2 introduced an issue that can freeze the media library. This fixes that issue. Sorry!

1.5.2

  • Tested with 4.9.0
  • Fixed an issue with SVGs when regenerating media

1.5.1

  • Fix PHP strict standards warning

1.5.0

  • Обновление библиотеки
  • role, aria- and data- attributes are now whitelisted to improve accessibility

1.4.5

  • Fixes some issues with defining the size of an SVG.
  • Обновление библиотеки

1.4.4

  • SVGs now display as featured images in the admin area

1.4.3

  • WordPress 4.7.3 Compatibility
  • Expanded SVG previews in media library

1.4.2

  • Added a check / fix for when mb_* functions are not available

1.4.1

  • Updated underlying library to allow attributes/tags in all case variations

1.4.0

  • Added ability to preview SVG on both grid and list view in the wp-admin media area
  • Updated underlying library version

1.3.4

  • A fix for SVGZ uploads failing and not sanitising correctly

1.3.3

  • Allow SVGZ uploads

1.3.2

  • Fix for the mime type issue in 4.7.1. Mad props to @lewiscowles

1.3.1

  • Updated underlying library version

1.3.0

  • Minify SVGs after cleaning so they can be loaded correctly through file_get_contents

1.2.0

  • Added support for camel case attributes such as viewBox

1.1.1

  • Fixed an issue with empty svg elements self-closing

1.1.0

  • Added i18n
  • Added da, de ,en, es, fr, nl and ru translations
  • Fixed an issue with filename not being pulled over on failed uploads

1.0.0

  • Первый релиз