FastComments.com


Aqui cobriremos o formato de comentários do FastComments, os recursos suportados enquanto se escreve comentários, como formatar o texto e os vários filtros e medidas de segurança incorporados no sistema.


Formatação Básica Internal Link

FastComments usa uma combinação de Markdown e um subconjunto simples de HTML para permitir a escrita de comentários.

Um bom recurso para sintaxe Markdown está aqui.

Para a formatação mais comum, você pode usar a barra de ferramentas de formatação para fazer coisas como deixar o texto em negrito ou itálico.

Alguns exemplos de sintaxe são:

  • Negrito:
    • **negrito**
    • <b>texto em negrito</b>
  • Itálico:
    • *itálico*
    • <i>texto em itálico</i>
  • Tachado:
    • ~~tachado~~
    • <strike>tachado</strike>
  • Citações:
    • > citação

Note que os títulos Markdown não são suportados.

Os links podem ser escritos como sua URL bruta, sem HTML ou outra sintaxe, e por padrão o link será transformado em um link clicável com target="nofollow noopener" para desencorajar spammers. Alguns sites podem optar por desativar a criação automática de links.

Listas ordenadas podem ser escritas como:

1. Primeiro item.
2. Segundo item.
3. Terceiro item.

O mesmo vale para listas com marcadores:

- Um ponto.
- Outro ponto.

Para comunidades orientadas à programação, o código pode ser compartilhado colando-o na área de comentários, e a linguagem será detectada e formatada automaticamente. O código pode ser adicionado em tags <code></code> ou blocos de código Markdown com crases.

Segurança Internal Link

Existem múltiplos aspectos de segurança quando permitimos que pessoas adicionem conteúdo a um site e depois renderizem esse conteúdo em muitos tipos diferentes de dispositivos.

Prevenção de abuso de formatação

As pessoas podem escrever conteúdo que é intencionalmente distrativo visualmente e diminui o valor das discussões ao abusar da formatação de texto.

FastComments faz várias coisas para prevenir abuso em relação à formatação:

  • Grandes quebras de linha consecutivas repetidas são colapsadas.
  • Não renderizamos títulos (eles se tornam texto normal).
  • Não permitimos CSS ou cores personalizadas.

Prevenção de exploits

Exploits podem ser criados em sistemas que renderizam HTML. FastComments faz várias coisas para prevenir isso:

  • Permitimos apenas um conjunto explicitamente definido de tags HTML.
  • Permitimos apenas um conjunto explicitamente definido de atributos de tags HTML.
  • Purificamos e sanitizamos todas as entradas.
    • Isso é feito através das bibliotecas DOMPurify e sanitizeHtml.
    • Escolhemos essas bibliotecas por serem bem testadas (com mais de 4 e 1 milhão de downloads por semana, respectivamente).

Isso significa que os usuários não podem fazer coisas como escrever tags <script> ou <style>, ou tentar adicionar scripts do tipo onload=alert() a imagens ou outro conteúdo.

As tags HTML que permitimos são as seguintes:

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