Discourse Fingerprint 
Discourse Fingerprint è uno strumento a disposizione dei gestori di comunità per combattere i troll di internet.
Funziona calcolando un identificativo univoco (unâimpronta digitale) per ogni utente registrato, tenendo conto di oltre 20 caratteristiche del browser, come user agent, risoluzione dello schermo, fuso orario, memoria del dispositivo, ecc.
Quando ciascuna di queste caratteristiche del browser viene considerata singolarmente, non è sufficiente per determinare se due utenti sono la stessa persona. Esiste un numero relativamente limitato di user agent, risoluzioni dello schermo, ecc. Tuttavia, quando si considerano tutti questi 20 fattori insieme, la probabilità che due utenti abbiano la stessa chiave è estremamente bassa.
Tempo di matematica: Supponiamo che esistano solo 20 caratteristiche del browser e solo 4 valori possibili per ciascuna di esse (nota: esistono piÚ di 20 caratteristiche del browser con molti piÚ di 4 valori). Ciò significa che ci sono 420 combinazioni (impronte digitali). Sono 1.099.511.627.776 combinazioni⌠e sulla Terra ci sono solo 7.640.175.882 persone. Beh, alcune caratteristiche del browser potrebbero essere inutili (ad esempio, il fuso orario sarà lo stesso per tutti gli utenti di un forum comunitario locale)⌠ma è probabile che i forum non abbiano nemmeno 7,6 miliardi di utenti. ![]()
Come funziona?
Quando un utente naviga su un forum, viene generata la sua impronta digitale e il risultato viene archiviato insieme alle ultime poche impronte (di default, le ultime 10). Gli amministratori possono quindi utilizzare unâinterfaccia semplice per verificare le corrispondenze delle ultime impronte digitali (conflitti) e controllare se un utente è in conflitto con qualcun altro.
Il plugin non ha assolutamente alcun impatto sugli utenti e genera lâimpronta digitale dellâutente 3 secondi dopo il primo caricamento della pagina.
Come appare?
Consideriamo un piccolo scenario di test:
- Gli utenti Dan, Oliver e Jack hanno utilizzato un dispositivo (sessioni in incognito e regolari).
- Gli utenti Harry, Jacob e William hanno utilizzato un dispositivo diverso (anche in incognito e sessioni regolari).
- In un certo momento, lâutente William si è connesso utilizzando esattamente la stessa macchina e lo stesso browser di Oliver.
La dashboard mostrerĂ che ci sono due conflitti. Uno è tra Dan, Oliver, Jack e William, mentre lâaltro coinvolge Harry, Jacob e William. Si noti che la relazione di conflitto non è transitiva (cioè, Dan è in conflitto con William, Harry è anchâesso in conflitto con William, ma Dan non è in conflitto con Harry).
Una visualizzazione dettagliata di Dan ci dirĂ quali sono le sue impronte digitali, quando sono state viste per la prima volta e lâultima volta, e con chi è in conflitto per quella firma.
Una visualizzazione dettagliata di William ci fornirĂ informazioni simili, ma questa volta mostrerĂ due impronte digitali.
Un amministratore può scegliere di agire in base a ciò o può fare clic sul pulsante âignoraâ per nascondere questo conflitto. Si noti che anche se si ignora un conflitto, questo continuerĂ a essere visualizzato in âUltimi conflittiâ fino a quando non emergeranno nuovi conflitti.
Come lo installo?
Segui Installa un plugin, utilizzando git clone https://github.com/discourse/discourse-fingerprint.git come comando per il plugin.
In sostanza, modifica il tuo file app.yml per includere il comando specificato prima.



