FastComments.com

Тук ще покрием формата на коментарите в FastComments, функциите, поддържани при писане на коментари, как да форматирате текста, и различните филтри и мерки за безопасност, вградени в системата.

Основно форматиране Internal Link

FastComments използва комбинация от Markdown и прост подмножество от HTML, за да позволи писане на коментари.

Добър ресурс за синтаксис на Markdown е тук.

За най-често срещаното форматиране можете да използвате лентата с инструменти за форматиране, за да правите неща като удебеляване или курсив на текст.

Някои примери за синтаксис са:

  • Удебелен:
    • **удебелен**
    • <b>удебелен текст</b>
  • Курсив:
    • *курсив*
    • <i>курсивен текст</i>
  • Зачертан:
    • ~~зачертан~~
    • <strike>зачертан</strike>
  • Цитати:
    • > цитат

Обърнете внимание, че заглавията на Markdown не се поддържат.

Връзките могат да бъдат написани като техния суров URL, без HTML или друг синтаксис, и по подразбиране връзката ще бъде превърната в кликаем линк с target="nofollow noopener", за да се обезкуражат спамерите. Някои сайтове може да изберат да деактивират автоматичното създаване на връзки.

Подредените списъци могат да бъдат написани така:

1. Първи елемент.
2. Втори елемент.
3. Трети елемент.

Същото важи и за маркираните списъци:

- Някаква точка.
- Някаква друга точка.

За програмистки общности кодът може да бъде споделен чрез поставяне в областта за коментари, като езикът ще бъде автоматично разпознат и форматиран. Кодът може да бъде добавен в <code></code> тагове или Markdown код огради с обратни кавички.

Сигурност Internal Link

Има множество аспекти на сигурността, когато позволяваме на хората да добавят съдържание към уебсайт и след това да изобразяваме това съдържание на много различни видове устройства.

Предотвратяване на злоупотреба с форматиране

Хората могат да пишат съдържание, което е умишлено визуално разсейващо и намалява стойността на дискусиите чрез злоупотреба с форматирането на текст.

FastComments прави редица неща, за да предотврати злоупотреба по отношение на форматирането:

  • Големи повтарящи се последователни нови редове се свиват.
  • Не изобразяваме заглавия (те стават нормален текст).
  • Не позволяваме CSS или персонализирани цветове.

Предотвратяване на експлойти

Експлойти могат да бъдат създадени в системи, които изобразяват HTML. FastComments прави няколко неща, за да предотврати това:

  • Позволяваме само изрично дефиниран набор от HTML тагове.
  • Позволяваме само изрично дефиниран набор от атрибути на HTML тагове.
  • Пречистваме и санитизираме всички входни данни.
    • Това се прави чрез библиотеките DOMPurify и sanitizeHtml.
    • Избрахме тези библиотеки като добре тествани (с над 4 и 1 милиона изтегляния седмично, съответно).

Това означава, че потребителите не могат да правят неща като писане на <script> или <style> тагове, или да се опитват да добавят onload=alert() тип скриптове към изображения или друго съдържание.

HTML таговете, които позволяваме, са следните:

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