FastComments.com

주석 문법

여기에서는 FastComments 댓글 형식, 댓글 작성 시 지원되는 기능, 텍스트 서식 방법, 그리고 시스템에 통합된 다양한 필터 및 안전 조치에 대해 다룹니다.

기본 서식 Internal Link

FastComments는 Markdown과 HTML의 간단한 하위 집합을 조합하여 댓글 작성을 허용합니다.

Markdown 구문에 대한 좋은 리소스는 여기에 있습니다.

가장 일반적인 서식의 경우, 서식 도구 모음을 사용하여 텍스트를 굵게 또는 기울임꼴로 만들 수 있습니다.

몇 가지 구문 예시:

  • 굵게:
    • **굵게**
    • <b>굵은 텍스트</b>
  • 기울임꼴:
    • *기울임꼴*
    • <i>기울임꼴 텍스트</i>
  • 취소선:
    • ~~취소선~~
    • <strike>취소선</strike>
  • 인용:
    • > 인용

Markdown 제목은 지원되지 않습니다.

링크는 HTML이나 다른 구문 없이 원시 URL로 작성할 수 있으며, 기본적으로 링크는 스패머를 방지하기 위해 target="nofollow noopener"가 있는 클릭 가능한 링크로 변환됩니다. 일부 사이트는 자동 링크 생성을 비활성화할 수 있습니다.

순서 있는 목록은 다음과 같이 작성할 수 있습니다:

1. 첫 번째 항목.
2. 두 번째 항목.
3. 세 번째 항목.

글머리 기호 목록도 마찬가지입니다:

- 어떤 포인트.
- 다른 포인트.

프로그래밍 지향 커뮤니티의 경우, 댓글 영역에 코드를 붙여넣어 공유할 수 있으며 언어가 자동으로 감지되어 서식이 지정됩니다. 코드는 <code></code> 태그나 백틱을 사용한 Markdown 코드 블록에 추가할 수 있습니다.

보안 Internal Link

웹사이트에 사용자가 콘텐츠를 추가하고, 그 콘텐츠를 다양한 종류의 기기에서 렌더링할 때 보안에는 여러 가지 측면이 있습니다.

서식 남용 방지

사용자는 텍스트 서식을 악용하여 의도적으로 시각적으로 방해가 되는 콘텐츠를 작성하고 토론의 가치를 떨어뜨릴 수 있습니다.

FastComments는 서식과 관련된 남용을 방지하기 위해 여러 가지 조치를 취합니다:

  • 반복되는 연속된 빈 줄은 축소됩니다.
  • 제목(heading)은 렌더링하지 않습니다(일반 텍스트로 변환됩니다).
  • CSS나 사용자 지정 색상은 허용하지 않습니다.

익스플로잇 방지

익스플로잇은 HTML을 렌더링하는 시스템에서 만들어질 수 있습니다. FastComments는 이를 방지하기 위해 여러 가지 조치를 취합니다:

  • 명시적으로 정의된 HTML 태그 집합만 허용합니다.
  • 명시적으로 정의된 HTML 태그 속성 집합만 허용합니다.
  • 모든 입력을 정제(purify)하고 살균(sanitize)합니다.
    • 이는 DOMPurify 및 sanitizeHtml 라이브러리를 통해 수행됩니다.
    • 이 라이브러리들은 충분히 검증되었기 때문에 선택했습니다(각각 주당 400만 건 이상과 100만 건 이상의 다운로드 수를 기록하고 있습니다).

이는 사용자가 <script> 또는 <style> 태그를 작성하거나, 이미지나 다른 콘텐츠에 onload=alert() 유형의 스크립트를 추가하는 등의 작업을 할 수 없음을 의미합니다.

허용되는 HTML 태그는 다음과 같습니다:

  • <b>
  • <em>
  • <u>
  • <i>
  • <strike>
  • <pre>
  • <span>
  • <code>
  • <img>
  • <a>
  • <strong>
  • <ul>
  • <ol>
  • <li>
  • <br>

<iframe> 태그는 기본적으로 허용되지 않습니다. 미디어 삽입 허용(Allow Media Embeds)을 켜면 iframe도 허용되지만, 소스가 내장된 신뢰할 수 있는 제공업체 목록(YouTube, Vimeo, SoundCloud, Spotify 등)에 포함되어 있거나 사용자가 명시적으로 추가한 호스트 이름인 경우에만 허용됩니다. 다른 소스의 iframe은 제거됩니다.