| Riepilogo | Questo componente tema aggiunge una protezione configurabile per i link esterni nei post elaborati. Applica regole basate sul livello di fiducia, reindirizzamenti opzionali di accesso e informazioni e indicatori visivi per i domini attendibili, oltre a una modale di conferma di uscita personalizzabile. | |
| Anteprima | Theme Creator | |
| Repository | https://github.com/VaperinaDEV/external-link-shield | |
| Guida all’installazione | Come installare un tema o un componente tema | |
| Nuovo ai temi di Discourse? | Guida per principianti all’utilizzo dei temi di Discourse |
Installa questo componente tema
Ciao ![]()
Vorrei condividere un Componente Tema che aggiunge un controllo granulare sui link esterni nei post elaborati, combinando:
- controllo degli accessi basato sul livello di fiducia
- protezione per gli utenti anonimi
- una modale di conferma di uscita personalizzata
- e indicatori visivi per domini attendibili rispetto a domini sconosciuti
Questo componente è progettato per comunità in cui i link esterni possono comportare implicazioni legali, di sicurezza o di fiducia.
Funzionalità
Regole di livello di fiducia configurabili
Tutti i comportamenti basati sul livello di fiducia sono completamente configurabili tramite le impostazioni del tema.
È possibile abilitare o disabilitare indipendentemente:
- il blocco degli utenti anonimi
- la sostituzione informativa per TL0
- il requisito di rivelazione manuale per TL1
- la modale di conferma di uscita per livelli di fiducia più elevati
Ciò consente al componente di adattarsi a politiche comunitarie molto diverse, da una rigorosa protezione dei link a un minimo attrito per l’utente.
Link esterni consapevoli del livello di fiducia
I link esterni si comportano in modo diverso a seconda del livello di fiducia dell’utente che visualizza:
- Utenti anonimi
- I link esterni vengono sostituiti con un link di accesso o un URL personalizzato definito nelle impostazioni.
- TL0
- I link vengono sostituiti con un reindirizzamento configurabile, ad esempio un argomento che spiega i livelli di fiducia o qualsiasi altro URL definito nelle impostazioni.
- TL1
- I link richiedono la rivelazione manuale (clicca per visualizzare), quindi facendo clic sul link viene visualizzata la modale di conferma di uscita.
- TL2+
- I link si comportano normalmente ma mostrano sempre una modale di conferma di uscita.
Modale di conferma di uscita
Prima di lasciare il forum, gli utenti vedono una modale che:
- Indica chiaramente che stanno lasciando la comunità
- Mostra l’URL di destinazione completo nei tag
<code> - Rispetta la preferenza dell’utente
external_links_in_new_tab
Questo è particolarmente utile per:
- comunità con requisiti di conformità elevati
- mitigazione del phishing
- educazione degli utenti meno esperti
Comportamento basato sul dominio tramite impostazioni
Il componente introduce due impostazioni del tema:
internal_domains:
type: list
default: ""
description: "I domini del tuo forum e CDN (es. example.com|example-cdn.com). Questi non avranno icona né modale."
excluded_domains:
type: list
default: ""
description: "Domini esterni attendibili (es. youtube.com|google.com). Questi mostreranno un'icona a LUPPO ma salteranno la modale/protezione."
- Domini interni
- Trattati come interni → nessuna icona, nessuna modale
- Domini esclusi (attendibili)
- Mostrano un’icona a
lucchetto - Saltano il controllo del livello di fiducia e la modale
- Mostrano un’icona a
- Tutti gli altri link esterni
- Mostrano un’icona di link esterno
- Sono soggetti a controllo e/o conferma a seconda del livello di fiducia
Indicatori visivi (SCSS)
Le icone vengono aggiunte puramente tramite CSS:
- Link esterni sconosciuti → icona di link esterno
- Link esterni attendibili → icona a lucchetto (colore di successo)
Ciò mantiene pulito il DOM ed evita l’iniezione di icone basata su JS.
Questo screenshot mostra come il componente distingue visivamente tra:
- Domini esclusi: link esterni attendibili (icona a lucchetto, nessuna conferma di uscita),
- Domini interni: link interni (nessuna icona, nessuna conferma di uscita),
- link esterni sconosciuti (icona di link esterno con conferma di uscita).
Casi d’uso
Questo componente è utile se si desidera:
- Proteggere gli utenti da link esterni non sicuri o fuorvianti
- Educare i nuovi utenti prima di consentire loro di lasciare il forum
- Applicare la progressione della fiducia della comunità
- Aggiungere disclaimer legali/di conformità senza interrompere l’UX



