이미지 파일에 .svg 확장자를 추가하기

One Discourse forum that I use has the default setting to only allow “image files”, however .svg files say that they are “not authorized”, while .svg files are images, just vector ones instead of raster ones, that means they can be scaled without losing quality. Also, the sizes are comparable too, if not smaller, when I converted a .png to a .svg:

  • The .png file had 8190 bytes.
  • The .svg file had 4273 bytes.

So is there any reason as to why a .svg file isn’t treated as an image file?

2개의 좋아요

An admin sets the accepted file types. Svg isn’t in there by default, but it can be added from the authorized_extensions setting. If you ask your admin, they may consider it?

5개의 좋아요

Problem is, the admins ignore direct messages, quoting one:

And they ignore 99.9% of the threads on the forums.

2개의 좋아요

이런 요청을 할 수 있는 Contribute > Site feedback 카테고리가 있나요? 아니면 포럼의 /about 페이지에 있는 이메일 주소로 직접 연락을 취해 보세요.

1개의 좋아요

Isn’t this a potential security risk, unless the file is sanitized?

1개의 좋아요

I’m afraid I don’t know the full answer to that, but I think discourse does some checking as part of the upload?

2개의 좋아요

That’s not a problem that can be solved here. If you don’t like how the forum is run, then don’t use it or start your own.

4개의 좋아요

@pfaffman, 저는 그것이 합리적이라고 생각합니다: 적절한 기본값은 노력의 중복을 줄여줍니다. 다른 사용자들처럼 모든 관리자에게 SVG 업로드를 활성화하도록 요청할 수도 있습니다:

https://meta.stackexchange.com/q/92568/623996

…또는 Meta에 이를 기본값으로 설정해 달라고 요청할 수도 있습니다. 이 점에서는 @Ondrashek06님과 동의합니다.

음, 4년이 지난 지금 저도 완전히 동의합니다!

여기, 이렇게 만들 수 있는지 확인해 보겠습니다:

3개의 좋아요

@pfaffman, 감사합니다!

1개의 좋아요

기본값으로 포함하는 것이 나쁜 아이디어인 이유가 있는데, 내가 그 이유를 이해하지 못하고 있을 가능성이 있습니다. :person_shrugging:

1개의 좋아요

@pfaffman, 제대로 된 정제가 이루어졌을 것이라 추정합니다. 왜냐하면 매우 강력하기 때문입니다. 하지만 인라인 HTML이 지원되고, 다른 포럼에서는 SVG를 지원하는 점을 고려하면, 특히 여기서는 허용되는 것으로 보이므로 극복 불가능한 문제는 아닙니다:

시연하기 위해, 아래는 SVG입니다:

1개의 좋아요

그러니까…

SVG는 소독(sanitize) 처리됩니다.

코드를 읽었을 당시 제 판단으로는 소독 처리가 실제로 꽤 견고하다고 느꼈고, 덕분에 제 사이트에서 이를 활성화하는 데 자신감을 가질 수 있었습니다.

소독된 SVG가 SVG의 모든 요구 사항을 충족하지 못한다는 점을 특히 고려할 때, CDCK가 모든 사용자를 대신하여 그 판단을 내리는 책임을 원하지 않을 수 있다는 점은 이해할 수 있습니다. 예를 들어, 제 사이트에서는 때때로 레이저 절단을 위해 의도된 SVG를 게시하는 경우가 있는데, 간혹 소독 과정에서 적용된 수정 사항이 해당 목적을 위해 조용히 파일을 손상시키는 일이 발생했습니다.

따라서 설정을 할 때 저에게는 약간의 번거로움이 되었음에도, 이를 기본적으로 활성화하는 데 대한 망설임을 이해합니다.

3개의 좋아요

@mcdanlj, Blender는 아마도 플러그인을 통해 파일 업로드를 허용합니다. 이는 기본 설정에서는 적용되지 않지만, SVG가 인라인 렌더링이 아닌 다른 용도로 주로 사용되기 때문에 포럼 운영에 도움이 될 수 있습니다.

1개의 좋아요

저희의 경우, 때로는 두 가지 동작 모두를 원합니다… 그래서 바이트 단위로 완벽하게 일치하는 파일인지 확인하는 것이 중요한 ZIP 파일을 업로드하는 경우가 있습니다. 열 번 중 아홉 번은, 파일의 무결성이 손상되더라도 다운로드하지 않고 온라인으로 바로 볼 수 있는 것이 더 유용합니다.

(네, 케이크를 먹으면서도 그대로 두는 것을 원합니다! :rofl:)

@mcdanlj, 비정규화된 인라인 SVG를 렌더링하는 것이 이론적으로조차 실현 가능할지 확신이 서지 않습니다. :sweat_smile:

그런 뜻이 아니에요. 정제되지 않은 인라인 SVG는 CSS 공격 벡터가 될 수 있거든요.

업로드 시점에 디스플레이용 SVG로 정제할지, 아니면 렌더링되지 않은 업로드 파일로 둘지 선택할 수 있기를 바란다는 뜻이었어요. 하지만 실제로는 더 완벽한 방법은 정제된 인라인으로 디스플레이하는 것인데, 다운로드를 누르면 원래의 정제되지 않은 버전을 받을 수 있는 거겠죠.

이것은 심각한 기능 제안은 아니에요. 다만 특이한 사용 사례 하나에겐 완벽할 것 같아서 한 말입니다. :smiley:

1개의 좋아요

@mcdanlj, 플러그인이 Blender의 파일 업로드 기능을 제공하는 것이라 생각하는데, 당신에게도 해당된다면 플러그인 저장소의 이슈 트래커에 기능 요청(FR)으로 게시할 가치가 있을 것입니다. 반면, 이 기능이 코어에 포함되어 있다면 정말 유용할 것이라고 동의하지만, 별도의 게시물에서 추적하는 것이 더 나을 수 있습니다.

@pfaffman 감사합니다. 팀에 이 내용을 공유했고, 이제 기본값으로 설정하는 것이 적절하다는 데 동의했습니다. PR을 승인하고 병합했습니다 :slight_smile:

2개의 좋아요