HTML 업로드를 허용해도 안전한가요?

제가 볼 때 업로드된 HTML 파일은 일반 파일(예: 아카이브나 PDF)처럼 다운로드만 되는 것 같습니다. 따라서 이를 열지 여부는 사용자 및 브라우저 설정(다운로드 후 자동 열기 등)에 따라 달라집니다.

하지만 이 주제는 XSS에 대해 언급하고 있습니다…

제 이해로는 다운로드된 파일에서 Discourse 페이지와 상호작용하는 방법이 없는 것 같습니다.
따라서 이 파일이 할 수 있는 최악의 시나리오는 피싱 콘텐츠와 같은 것을 표시하는 정도일 것입니다.

개인적으로는 좋은 생각이 아니라고 생각합니다.

구체적으로 이유를 설명해 주시겠어요? :thinking:

커뮤니티에 피싱 링크가 나타나는 것을 원치 않는 것과 정확히 같은 이유인가요?

Discourse는 DMS나 파일 저장소가 아닙니다. HTML 파일 다운로드를 용이하게 하려고 Discourse를 사용할 이유는 무엇인가요? 코드는 GitHub 같은 곳에 보관하는 것이 훨씬 나을 것입니다.

때로는 간단한 문제 등을 보여주는 HTML 파일을 그냥 업로드하는 것이 더 편리할 수 있습니다. 파일이 하나뿐인 경우, ZIP 아카이브로 압축하는 것은 불필요한 어려움만 초래합니다.

이 포럼은 주로 개발자를 대상으로 하므로, 다운로드한 파일을 열 때 사용자가 자신의 행동을 잘 알고 있으며, 피싱 시도를 식별하고, 그곳에 비밀번호를 입력하지 않으며, 신속하게 신고하는 등의 조치를 취할 것이라고 가정할 수 있습니다.
따라서 유일한 우려 사항은 HTML 파일을 업로드할 때(HTML 파일이 포함된 ZIP 아카이브와 비교하여) 취약점, XSS 등을 악용할 수 있는 가능성입니다.

개인적인 선호 사항으로, 저는 파일을 다운로드해야 하는 상황을 피하고 싶습니다. 대신 게시글 안에 코드가 그대로 표시되는 것을 선호합니다. 따라서 제 질문은 다음과 같습니다…

HTML을 게시글에 코드 블록으로 직접 추가하지 않는 이유가 있을까요?

<section>
  <h1>Introduction</h1>
  <p>People have been catching fish for food since before recorded history…</p>
</section>

<section>
  <h1>Equipment</h1>
  <p>The first thing you’ll need is a fishing rod or pole that you find comfortable and is strong enough for the kind of fish you’re expecting to land…</p>
</section>
...

이렇게 하면 즉시 표시되고, 파일 다운로드가 필요하지 않으며, 특정 높이를 초과하는 코드 블록에는 스크롤바를 강제 적용하기 때문에 게시글 공간을 많이 차지하지 않습니다. 또한 파싱되지 않으므로 보안 위험이 0입니다.

이 솔루션이 여러분에게 적합하다면 더 자세히 설명해 드릴 수 있습니다.

네, 보통 이렇게 하는 것이 더 좋다고 동의합니다. 하지만 때로는 파일 첨부 방식을 선호하는 경우가 있습니다. 예를 들어 파일이 너무 크거나, 시각적 문제를 보여주고 싶을 때(새 파일에 복사-붙여넣기하는 것보다 쉽기 때문) 등이 그렇습니다.