FastComments.com

Qui tratteremo il formato dei commenti di FastComments, le funzionalità supportate durante la scrittura dei commenti, come formattare il testo, e i vari filtri e misure di sicurezza incorporati nel sistema.

Formattazione di base Internal Link

FastComments utilizza una combinazione di Markdown e un semplice sottoinsieme di HTML per consentire la scrittura di commenti.

Una buona risorsa per la sintassi Markdown è qui.

Per la formattazione più comune, puoi utilizzare la barra degli strumenti di formattazione per fare cose come rendere il testo in grassetto o corsivo.

Alcuni esempi di sintassi sono:

  • Grassetto:
    • **grassetto**
    • <b>testo in grassetto</b>
  • Corsivo:
    • *corsivo*
    • <i>testo in corsivo</i>
  • Barrato:
    • ~~barrato~~
    • <strike>barrato</strike>
  • Citazioni:
    • > citazione

Nota che i titoli Markdown non sono supportati.

I link possono essere scritti come URL grezzi, senza HTML o altra sintassi, e per impostazione predefinita il link verrà trasformato in un link cliccabile con target="nofollow noopener" per scoraggiare gli spammer. Alcuni siti possono scegliere di disabilitare la creazione automatica dei link.

Gli elenchi ordinati possono essere scritti come:

1. Primo elemento.
2. Secondo elemento.
3. Terzo elemento.

Lo stesso vale per gli elenchi puntati:

- Un punto.
- Un altro punto.

Per le comunità orientate alla programmazione, il codice può essere condiviso incollandolo nell'area dei commenti, e il linguaggio verrà rilevato e formattato automaticamente. Il codice può essere aggiunto in tag <code></code> o blocchi di codice Markdown con backtick.

Sicurezza Internal Link

Ci sono diversi aspetti della sicurezza quando si permette alle persone di aggiungere contenuti a un sito web e poi rendere quei contenuti visibili su molti tipi di dispositivi.

Prevenire l'abuso del formato

Le persone possono scrivere contenuti intenzionalmente visivamente fastidiosi e che riducono il valore delle discussioni abusando della formattazione del testo.

FastComments fa diverse cose per prevenire abusi riguardo alla formattazione:

  • Le grandi interruzioni di riga consecutive ripetute vengono collassate.
  • Non rendiamo le intestazioni (diventano testo normale).
  • Non permettiamo CSS o colori personalizzati.

Prevenire gli exploit

Gli exploit possono essere creati nei sistemi che renderizzano HTML. FastComments fa diverse cose per prevenire questo:

  • Permettiamo solo un insieme esplicitamente definito di tag HTML.
  • Permettiamo solo un insieme esplicitamente definito di attributi dei tag HTML.
  • Purifichiamo e sanifichiamo tutti gli input.
    • Questo è fatto tramite le librerie DOMPurify e sanitizeHtml.
    • Abbiamo scelto queste librerie perché sono ben testate (avendo rispettivamente oltre 4 e 1 milioni di download alla settimana).

Questo significa che gli utenti non possono fare cose come scrivere <script> o <style> tag, o provare ad aggiungere script tipo onload=alert() alle immagini o ad altri contenuti.

I tag HTML che permettiamo sono i seguenti:

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

Il tag <iframe> non è consentito di default. Se abiliti Allow Media Embeds, anche gli iframe sono permessi, ma solo quando la loro sorgente è uno degli elenchi incorporati di provider attendibili (come YouTube, Vimeo, SoundCloud e Spotify) o un hostname che hai aggiunto esplicitamente. Gli iframe provenienti da qualsiasi altra fonte vengono rimossi.