Safe SVG

설명

Safe SVG는 워드프레스에서 SVG 업로드를 허용하는 가장 좋은 방법입니다!

SVG 업로드를 허용하는 동시에 사이트에 영향을 미치는 SVG/XML 취약성을 차단하기 위해 위생 처리된 상태인지 확인하는 기능을 제공합니다. 또한 미디어 라이브러리에서 모든 보기에서 업로드한 SVG를 미리 볼 수 있는 기능도 제공합니다.

현재 기능

  • 위생 처리된 SVG – 위생 처리되지 않은 파일 업로드를 허용하여 워드프레스 사이트의 보안 허점을 열지 마세요.
  • SVGO 최적화 – 업로드 시 SVGO 도구를 통해 SVG를 실행하여 공간을 절약합니다. 이 기능은 기본적으로 비활성화되어 있지만 다음 코드를 추가하여 활성화할 수 있습니다: add_filter( 'safe_svg_optimizer_enabled', '__return_true' );
  • 미디어 라이브러리에서 SVG 보기 – 어떤 SVG가 맞는지 추측하던 시대는 지났으며, 워드프레스 미디어 라이브러리에서 SVG 미리보기를 활성화합니다.
  • 업로드할 수 있는 사용자 선택 – 워드프레스 사이트의 특정 사용자로 SVG 업로드를 제한하거나 누구나 업로드할 수 있도록 허용합니다.

처음에는 #24251에 대한 개념 증명이었습니다.

SVG 가공은 다음 라이브러리를 통해 수행됩니다: https://github.com/darylldoyle/svg-sanitizer.

SVG 최적화는 다음 라이브러리를 통해 수행됩니다: https://github.com/svg/svgo.

블록

이 플러그인은 1개의 블록을 제공합니다.

  • Safe SVG Display the SVG icon

설치

워드프레스 디렉토리를 통해 설치하거나 파일을 다운로드하여 압축을 풀고 /wp-content/plugins/ 디렉토리에 업로드합니다.

FAQ

허용되는 속성 및 태그를 변경할 수 있나요?

예, svg_allowed_attributessvg_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;
} );

후기

2025년 6월 21일 답글 1개
Would have given a 5 star, but it seems support is missing for the taxonomy / terms section (like in categories) upload for SVG images. Keep getting an error that the upload isn’t supported. Hopefully this will be fixed in a future update. Will update once this is added. Cheers!
2025년 4월 30일 답글 1개
Great plugin! very usefull, but please can you add the possibility to add an inline SVG on the block pasting svg code? Thanks!
모든 76 평가 읽기

기여자 & 개발자

“Safe SVG”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

“Safe SVG”(이)가 29 개 언어로 번역되었습니다. 기여해 주셔서 번역자님께 감사드립니다.

자국어로 “Safe SVG”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록RSS로 구독하세요.

변경이력

2.4.0 – 2025-09-22

2.3.3 – 2025-08-13

  • 보안: 대소문자를 구분하지 않는 속성이 살균기를 통과하는 문제를 해결하고 PHP 8.4 지원 중단 경고를 해결하기 위해 enshrined/svg-sanitize 패키지를 0.19.0에서 0.22.0으로 업데이트합니다 (props @darylldoyle, @sudar, @georgestephanis, @dkotter, @realazizk via #268, #272).
  • 보안: form-data를 4.0.0에서 4.0.4로 상향 조정합니다(@dependabot, @faisal-alvi를 통해 #270으로 전달).
  • 보안: tmp를 0.2.3에서 0.2.5로, 4.2.9에서 4.2.16으로 @inquirer/editor를 상향 조정합니다(@dependabot, @dkotter#271를 통해 지원).

2.3.2 – 2025-07-21

  • 수정: 프런트 엔드와 블록 편집기 간의 시각적 동등성(@s3rgiosan, @dkotter via #261, #266)이 수정되었습니다.
  • 변경: Bump WordPress “최대” 버전 6.8(props @godleman, @jeffpaul, @dkotter를 통해 #251, #254)까지 테스트했습니다.
  • 변경: 워드프레스 최소 지원 버전을 6.6으로 상향 조정합니다(@godleman, @jeffpaul, @dkotter via #254).
  • 보안: ws 는 7.5.10에서 8.18.0으로, @wordpress/scripts 는 27.9.0에서 30.6.0으로, nanoid는 3.3.7에서 3.3.8로, mocha 는 10.2.0에서 11로 를 범프합니다.0.1 (소품 @dependabot, @peterwilsoncc #245 경유).
  • 보안: @babel/runtime를 7.23.9에서 7.27.0으로, axios를 1.7.4에서 1.8.4로, cookie를 0.4.2에서 0.7.1로, express를 4.21.0에서 4.21로 범프합니다.2에서 0.26.0으로, @wordpress/e2e-test-utils-playwright에서 1.20.0으로 변경되었습니다(@dependabot, @dkotter via #250).
  • 보안: 2.0.6에서 2.0.9로 http-proxy-middleware 상향(@dependabot, @iamdharmesh를 통해 #253으로 전달)합니다.
  • 보안: 3.0.8에서 3.0.9로 tar-fs 상향(props @dependabot, @dkotter via #258).
  • 보안: 바이트를 3.0.0에서 3.1.2로, 압축를 1.7.4에서 1.8.1로 상향 조정합니다(props @dependabot, @dkotter#265로 통해 전송합니다).

2.3.1 – 2024-12-05

2.3.0 – 2024-11-25

2.2.6 – 2024-08-28

이번 변경 로그 세부 정보 보기.