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 ao permitir que pessoas adicionem conteúdo a um site e então renderizar esse conteúdo em muitos tipos diferentes de dispositivos.

Prevenção de Abuso de Formatação

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

O FastComments faz várias coisas para prevenir abusos relacionados à formatação:

  • Múltiplas quebras de linha consecutivas são colapsadas.
  • Não renderizamos cabeçalhos (eles se tornam texto comum).
  • Não permitimos CSS ou cores personalizadas.

Prevenção de Exploits

Explorações podem ser criadas em sistemas que renderizam HTML. O FastComments faz várias coisas para prevenir isso:

  • Só permitimos um conjunto de tags HTML explicitamente definido.
  • Só permitimos um conjunto de atributos de tags HTML explicitamente definido.
  • Purificamos e sanitizamos todas as entradas.
    • Isso é feito via as bibliotecas DOMPurify e sanitizeHtml.
    • Escolhemos essas bibliotecas por serem bem testadas (tendo mais de 4 e 1 milhão de downloads por semana, respectivamente).

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

As tags HTML que permitimos são as seguintes:

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

A tag <iframe> não é permitida por padrão. Se você ativar Permitir Incorporações de Mídia, iframes também são permitidos, mas somente quando sua fonte for um dos provedores confiáveis incorporados (como YouTube, Vimeo, SoundCloud e Spotify) ou um hostname que você tenha adicionado explicitamente. Iframes de qualquer outra fonte são removidos.