Come posso bloccare una persona violenta che tenta continuamente di registrare più account?


41

Ho un sito gratuito con registrazione aperta; chiunque può registrarsi e non sono in grado di cambiarlo. Tuttavia, gli account devono essere approvati da un amministratore dopo aver completato un profilo, quindi ho accesso a una varietà di informazioni per identificare utenti duplicati (data di nascita, commento di "autointroduzione", indirizzo e-mail, foto, posizione segnalata nel profilo, IP geolocalizzato , Indirizzo IP, ecc.)

Recentemente il sito è diventato soggetto agli attacchi di un singolo utente che è estremamente offensivo e sembra avere un tempo illimitato per registrare più account. Questi account possono essere bloccati in modo relativamente semplice, ma è molto lavoro per l'amministratore (me) e temo che mi mancherà uno tra gli account legittimi (questo utente registra circa 6 account al giorno).

Ho già:

  • vietato gli indirizzi IP noti dell'utente
  • registrazione bloccata da domini noti utilizzati per indirizzi di posta elettronica "usa e getta"
  • aggiunta una vista speciale per aiutarmi a identificare gli account in base a schemi di accesso noti da parte dell'utente

C'è qualcosa che posso fare con i cookie, ecc. Per rendere ancora più difficile la registrazione per questo utente?

Questo è un sito Drupal 7.

EDIT: Nel mio caso, questo è un utente umano, non un bot. Ma le risposte dei bot sono utili per coloro che sono specificamente presi di mira dagli spammer.


L'unica cosa a cui riesco a pensare sarebbe quei fastidiosi captcha che sono davvero difficili da leggere, dato che alcune delle lettere / numeri che pensi possano essere due cose, e devi provare come 5 volte per indovinarlo correttamente. Sul lato negativo, infastidirai tutti gli altri, lol.
No Sssweat,

13
drupal.org/project/misery se tutto il resto fallisce.
Niall Murphy,

7
In realtà le prime due soluzioni che hai usato sono idee piuttosto brutte. Gli indirizzi IP sono molto inadeguati nell'identificare in modo univoco anche un'intera rete, non importa un computer specifico e non importa un utente specifico! Non è affatto raro che un utente condivida un dispositivo con molti altri utenti, in cui quel dispositivo si trova su una rete con molti altri dispositivi che condividono tutti un singolo indirizzo IP, che viene regolarmente riallocato dal fornitore di servizi, a clienti diversi. Vietare interi set di nomi di dominio e-mail è ancora peggio. Corri il rischio reale di bloccare un utente legittimo.
JBentley,

3
Quando provo i consigli nelle risposte, suggerirei di non rendere la vita dei tuoi buoni utenti meno piacevole per punire i cattivi utenti. Se lo fai, i cattivi utenti hanno vinto e rischi di perdere buoni utenti.
Rooby,

Risposte:


51

Invece di cercare di impedire all'utente di registrarsi, che è un gioco per troll e hacker allo stesso modo, rendere il sito fastidioso per lui. Fallo desiderare di andarsene , invece di fargli desiderare di vincere la partita di pesca a traina .

Quello che ho fatto in passato, non specifico di Drupal, è lasciare che l'utente si registri. Ho quindi sabotato il suo account specifico:

  1. Ho cosparso if ($someuser) { sleep(rand($base, $base*2)) }il codice, dove $baseaumenterebbe ogni giorno. Mi sono assicurato che avesse molti timeout.
  2. Vorrei eliminare l'N% dei suoi post, dove N ha iniziato oltre il 50% ed è aumentato solo da lì. Se il post avesse determinate parole chiave, verrebbe immediatamente eliminato.
  3. Vorrei rilasciare casualmente le regole CSS in modo che la pagina venga visualizzata in modo scadente. Ancora una volta, la gravità aumenterebbe nel tempo.

Ciò ha richiesto più impegno da parte mia, ma secondo il consiglio di Sun Tzu, condizionavo l'utente ad odiare il mio sito . Volevo che non sentisse che ci dava fastidio, ma piuttosto che doveva essere infastidito dai ritardi e dagli apparenti bug. Gli ci è voluta meno di una settimana per rinunciare a noi.

EDIT : Nei commenti, l'utente rooby menziona il modulo Misery che si basa sullo stesso concetto:

  1. Ritardo : crea un ritardo di lunghezza casuale, dando l'impressione di una connessione lenta. (per impostazione predefinita, questo accade il 40% delle volte)
  2. Schermo bianco : presenta all'utente uno schermo bianco. (per impostazione predefinita questo accade il 10% delle volte)
  3. Pagina errata: reindirizzare a un URL casuale in un elenco predefinito. (per impostazione predefinita questo accade lo 0% delle volte)
  4. Nodo casuale : reindirizzare a un nodo casuale accessibile dall'utente. (per impostazione predefinita questo accade il 10% delle volte)
  5. 403 Accesso negato : presentare all'utente un errore "Accesso negato". (per impostazione predefinita questo accade il 10% delle volte)
  6. 404 Not Found : presenta all'utente un errore "Not Found". (per impostazione predefinita questo accade il 10% delle volte)
  7. I moduli non vengono inviati : reindirizzare al modulo durante la convalida per impedire l'invio. (per impostazione predefinita, ciò accade il 60% delle volte) Nota: a volte determinati moduli vengono convalidati in base al pulsante premuto, in questi casi non funzionerà.
  8. Arresto anomalo di IE6 : se l'utente utilizza Internet Explorer 6, il browser si arresterà in modo anomalo. (per impostazione predefinita questo accade lo 0% delle volte)
  9. Spam : sostituisci il contenuto del nodo con una parola impostata. (per impostazione predefinita questo accade il 10% delle volte)
  10. Disconnetti : disconnette l'utente. (per impostazione predefinita questo accade il 10% delle volte)

8
Penso che questo sia fantastico in teoria, ma il pensiero di codificare $someuserogni volta che creano un nuovo account mi fa rabbrividire. Comunque, ottima idea. Forse basta aggiungere un campo nella tabella dei conti, come una trollcolonna. Se è 1, le modifiche hanno effetto. Quindi aggiungi una semplice interfaccia per contrassegnare qualcuno come troll. Almeno in questo modo è un po 'più semplice che scrivere un nome utente / ID utente / e-mail / ecc. ogni volta che si registrano con un nuovo account. Sicuramente questo è stato valutato.
Nate I,

5
@NateI puoi renderlo riutilizzabile però. if (hellbannedUsers.contains($someuser))è un passo migliore. Semplicemente non mi piace quanta logica homebrewing è in primo luogo, ma almeno può essere resa riutilizzabile.
Djechlin,

3
@djechlin Naturalmente può essere riutilizzabile, quindi il mio commento su come fare un ulteriore passo avanti con una tabella nel DB.
Nate I,

3
Potresti essere interessato al modulo miseria per risparmiare un po 'di codice.
Rooby,

7
Bella risposta. Una variante su questo è lasciare che il troll post e mostrare i post a quell'utente, ma nasconderli per tutti gli altri utenti.
zelanix,

30

Email ISP del Abuser - Essi Will mettere fine a tutto questo!

Hai un registro dei tempi di creazione del suo account e gli indirizzi IP utilizzati per la registrazione, giusto? Hai anche un registro di tutti i suoi commenti molesti? Invia questi registri al proprio ISP .

Puoi trovare l'ISP eseguendo una ricerca IP direttamente con ARIN su https://whois.arin.net/ui o un altro servizio che semplicemente li utilizza per un whois. La maggior parte degli utenti disporrà di un ISP effettivo per il proprietario dell'IP, ma alcune (grandi aziende in genere) saranno proprietarie dell'IP stesso. Ad ogni modo, scoprirai chi è il proprietario dell'IP e da lì puoi cercarli e ottenere un indirizzo email di abuso (a volte inseriscono un vero indirizzo email di abuso nelle informazioni WHOIS, il che è fantastico) da inviare la tua email a. Sii gentile e cortese con l'ISP. Non scrivere un romanzo epico: mantienilo semplice. Qualcosa del tipo, "Questo IP ha molestato me stesso e gli utenti del mio sito Web, vedere i registri" sarà sufficiente. Ne vedono migliaia al giorno, non vogliono leggere una storia singhiozzante.

Ero un ingegnere di rete presso un ISP. Abbiamo ricevuto innumerevoli segnalazioni di molestie per questo tipo di comportamento. Nel momento in cui un abbonato riceve la telefonata, si fermano circa il 90% delle volte. Se continua, può derivarne un'azione legale, il che significa che la maggior parte degli ISP intraprende azioni molto serie.

Il tuo aggressore è probabilmente un bambino che vive a casa con i suoi genitori , il che significa che quando l'account Internet dei suoi genitori è minacciato di essere chiuso, saranno incredibilmente arrabbiati con lui per il suo comportamento.

Ho seguito personalmente questa strada e funziona, anche se l'aggressore non è nel tuo paese. Gli ISP NON accettano gentilmente gli utenti che sono abusivi della propria rete.

Nota a margine

C'è la possibilità che stia usando un proxy. Tuttavia, è molto improbabile che abbia usato un proxy al momento della registrazione iniziale, a meno che non abbia intenzione (dal momento in cui si è registrato) di troll sul tuo sito web. Se nessuno degli IP indica effettivamente un ISP legittimo a cui puoi effettivamente inviare un'e-mail di abuso, prova a inviarlo a qualsiasi servizio proxy che sta utilizzando.

Le persone hanno questa folle idea che semplicemente perché qualcuno sta usando un proxy, non sono rilevabili. Questo è falso. I servizi proxy in genere seguono le stesse regole di tutti gli altri (ovviamente ci sono eccezioni). Quando ricevono un rapporto sugli abusi, se ne occupano proprio come fa un ISP.

Sulla incredibilmente piccola possibilità che questo utente si trovi dietro un proxy che non funziona bene, seguirò il consiglio degli altri risponditori. Scherzi a parte, è così raro che la maggior parte dei proprietari di siti Web non vedrà mai un attacco da parte di qualcuno apparentemente "non rilevabile".


2
Questa è l'unica soluzione effettiva . Tutto il resto che è stato proposto sembra essere soluzioni alternative, non soluzioni.
un CVn

Anche Tor può essere un problema in questo senso, ma se hai davvero problemi con questo, c'è sempre la possibilità di bloccare il traffico proveniente solo dai nodi di uscita Tor . (Quest'ultimo riduce al minimo il danno collaterale.)
un CVn del

Potete darmi qualche idea su quanto tempo potrebbe richiedere questo processo? Ho inviato le informazioni 10 giorni fa e non ho ancora ricevuto risposta di alcun tipo, nemmeno un riconoscimento del mio rapporto.
Patrick Kenny,

Non ho mai ricevuto una risposta effettiva. L'unica cosa a cui abbia mai assistito in questo modo di agire è che la persona smette di fare ciò che sta facendo. La persona sta ancora molestando te e gli utenti del tuo sito Web?
Nate I

17

Sulla tua domanda, non accenni di avere un Captcha. Forse, questo utente anoyer è un bot? La mia ipotesi è che tu abbia già un captcha e che l'utente sia effettivamente umano.

Ma ... in caso contrario, consiglierei:

reCAPTCHA

Utilizza il servizio web Google reCAPTCHA per migliorare il sistema CAPTCHA e proteggere gli indirizzi email.

inserisci qui la descrizione dell'immagine


9

Hellban / shadowban

Dato che bloccare una persona dalla creazione di nuovi account per sostituire quelli bloccati è quasi impossibile, una soluzione piuttosto popolare a questo problema è il cosiddetto hellban ( http://www.urbandictionary.com/define.php?term=hellban ) o shadowban , in cui implementi una funzione che isola determinati account da tutti gli altri senza rendere evidente che sono stati vietati.

Ad esempio, ti assicureresti che sentano che la loro esperienza è autentica e che possono continuare a utilizzare gli stessi account, ma a condizione che tutti i loro post o attività siano visibili solo agli account vietati e a tutti gli account (o non registrati- in situazioni) che condividono IP e / o cookie con l'account hellbanned. Se l'utente continua a troll ma non riceve risposta, alla fine se ne andrà.


Come implementarlo in Drupal 7?
reinierpost,

1
@reinierpost - Cave è un'opzione per implementarlo
BryanH,

7

Su suggerimento di No Sssweat, sto inserendo questo come una risposta anziché un commento in modo che più persone lo vedano.

Drupal.org/project/misery fa un buon lavoro nel dare fastidio a un utente con circa otto metodi diversi. Timeout casuali, logout, reindirizzamenti casuali ecc. E la frequenza è variabile.

Una versione facile del bel dotancohen che scrive al problema.


6

Che ne dici di usare un secondo fattore? Nella tua registrazione, supponi che invierai un SMS al loro telefono o un'email e chiederai loro di confermare la loro registrazione facendo clic su un link e inviando nuovamente le informazioni. Acquisirai un identificatore più difficile da falsificare rispetto all'indirizzo IP e potrebbe essere più semplice filtrarlo in quel modo. Ovviamente richiederà una piccola quantità di scripting ...


5

In realtà è impossibile.

Non è possibile impedire a una persona di registrarsi ancora e ancora. L'unica cosa che puoi fare è rafforzare il processo di registrazione e ricontrollare / triplicare il loro ID (tramite indirizzo e -mail e account google e account facebook e account e numero di telefono LinkedIn e così via) e correlare ogni persona con un ID specifico che aggregano tutti questi dettagli.

La persona specifica può scegliere un'altra rete tramite proxy Web, creare molti @email, aprire diversi account Facebook / google / LinkedIn e così via, ma non sarà mai possibile impedire a questa persona di registrarsi di nuovo (a meno che non si controlli il suo DNA).

L'unica scelta è quella di rafforzare il processo di registrazione.


2
Come ho detto, chiedi ai tuoi nuovi utenti futuri di associare il loro account con un account Facebook unico e un account Google unico e un account LinkedIn unico e un numero di telefono univoco a cui invii un SMS. Sei in una posizione molto sebbene! Non è possibile, senza mezzi veramente costosi , assicurarsi che un utente si registri una sola volta. Inoltre, l'unico mezzo che puoi usare potrebbe infastidire i tuoi futuri utenti (chi è ben disposto a vincolare l'account ggl / SO / fb / LinkedIn / GH + inviare il loro ID per posta, solo per creare un nuovo account?)
Auzias

11
Questo è un modo rapido per ridurre anche il numero di utenti reali.
Tom.Bowen89,

3
Stai sostenendo che è impossibile nel peggiore dei casi, cioè se un'agenzia di intelligence avanzata con miliardi di dollari è fuori per prenderti. C'è una buona possibilità che l'OP abbia a che fare da qualche parte come un brutto 11enne da qualche parte. Quindi la tua risposta è sia un po 'poco pratica, sia fuorviante dell'IMO.
Djechlin,

2
La tua risposta si contraddice. Dice che non puoi, quindi l'unico modo che puoi è indurendo il processo di registrazione, che in realtà non risolverà necessariamente il problema e inoltre non è l'unica soluzione potenziale.
Rooby,

1
Lo so;) o non ho Google, né LinkedIn
Auzias,

4

Come suggerito da No Sssweat, è possibile utilizzare reCAPTCHA. Ma se non vuoi infastidire gli utenti legittimi, puoi provare il modulo Honeypot . Offre la possibilità di avere un campo aggiuntivo che non dovrebbe essere riempito (i robot AFAIK possono riempire tutti i campi) o avere un limite di tempo.

La documentazione recita come,

Honeypot utilizza sia i metodi honeypot sia i timestamp per dissuadere i robot spam dal completare i moduli sul tuo sito Drupal (leggi di più qui). Questi metodi sono efficaci contro molti robot spam e non sono così invadenti come i CAPTCHA o altri metodi che puniscono l'utente [YouTube].

Un'altra opzione è il modulo Spambot , che impedisce lo spam verificando i tentativi di registrazione contro lo Stop Forum Spam.

Spambot protegge il modulo di registrazione dell'utente da spammer e spambots verificando i tentativi di registrazione contro il database online di Stop Forum Spam (www.stopforumspam.com). Aggiunge anche alcune utili funzionalità per aiutare a gestire gli account spam.


3
Funziona per gli spambots, non per gli umani.
user253751,

3

C'è una risposta alla domanda, sebbene la comunità possa trovare questa offensiva. Non so perché, risparmi sui costi, che il percorso non sia stato preso più spesso.

Invia una lettera di cessazione e desistere alla persona che sta violando il tuo sito e che sta violando il Titolo XVIII del Codice degli Stati Uniti, La manomissione di computer, frodi e abusi.

Se non cessano, pony i soldi e citare in giudizio. A metà degli anni '90 ho avuto il primo caso nel WDMO in cui l'unico ISP per l'area di Kansas City è stato violato da 3 adolescenti. Ho contattato le famiglie (avevano effettuato il root su uno dei server ed erano abbastanza stupide da archiviare la loro applicazione per unirsi ai gruppi "Warez" con i loro veri nomi e indirizzi in una sottodirectory nascosta) e ho chiesto loro di impedire agli adolescenti di farlo. Hanno rifiutato.

In una denuncia di 54 pagine ho dovuto spiegare: ISP, Internet, accesso superato, ecc. A un giudice nominato di recente.

Ero più che un avvocato, un mio account era stato consultato (grazie a Dio, non un account cliente - The Rust List) e mi è stato spuntato. Ho accusato i genitori (unica strada per andare dove gli imputati erano minorenni in un'azione civile) e ho dichiarato che i genitori avevano messo una pericolosa strumentalità nelle mani dei minori senza un'adeguata supervisione e che i minori si erano impegnati nel trasferimento di software rubato, e porno per bambini (sì, ragazzi di 16 anni che fotografano i loro GF di 16 anni è "porno per bambini"). Ho seguito le politiche del proprietario di casa e ho avuto un rimedio che i tribunali di quei tempi non avrebbero nemmeno preso in considerazione: un divieto a vita sull'uso dei computer per gli adolescenti.

Si stabilì entro una settimana dal trasferimento della scoperta.

Hai provato tutto il resto: martella questa piccola merda con una walletectomia. Fai attenzione a scegliere un avvocato che sa cosa sia e non quello associato a una "grande impresa" in cui verrai addebitato a morte.

Considera come un ordine del tribunale che preclude al coglione l'accesso al tuo sito potrebbe funzionare: è vietato: trovi un indirizzo IP che viola il decreto del tribunale, invialo al tuo avvocato e presenta una mozione con il tribunale che mostra violazione dell'Ordine e la Corte risponderà con un Ordine Show Cause perché l'imputato non dovrebbe essere ritenuto in oltraggio alla corte.

Inizia un attacco da altri siti / indirizzi IP - informa il tuo avvocato - e la risposta può includere il mirroring dei computer degli imputati, un'ingiunzione che impedisce al convenuto di accedere a Internet e, dopo aver scoperto che l'imputato ha violato l'ordine per procura , la Corte imporrà sanzioni.

Alla fine, il coglione potrebbe essersi limitato ad essere bloccato per sempre da Internet. Se sei veramente incazzato dopo tutto questo e vuoi essere certo che l'imputato è fuori da Internet, assumi un PI per seguire l'imputato per una settimana o dieci giorni (non economico) e se sta accedendo a Internet da uno Starbucks - o da McD li hai: torniamo dal giudice.

L'ordine supremo è incredibile e accadrà solo con prove schiaccianti che l'imputato aveva sistematicamente violato gli ordini del tribunale: niente smartphone, nessun VOIP, niente TV via cavo o satellitare (Internet è disponibile e ha mostrato un totale disprezzo per legge, quindi non è permesso nulla che possano hackerare per ottenere l'accesso), niente Internet (sarebbe bello se fosse un divieto a vita - probabilmente no), nessuna Internet delle cose e, alla fine, nessun dispositivo informatico.

Se l'imputato si guadagnava da vivere nel settore tecnologico, ha dei fossati da scavare e hamburger da lanciare.

Ecco come terminare questo con l'opzione nucleare.


@ Pierre.Vriens Queste sono informazioni interessanti in ogni caso, e mentre sono a Tokyo, la mia azienda è negli Stati Uniti, così come l'utente abusante.
Patrick Kenny,

OK, scusami per il mio commento allora (ho cancellato il mio precedente commento solo ora già allora) ... Lo sto guardando con gli occhiali EUR però ...
Pierre.Vriens

2

Mi piace il modello della miseria, ma aggiungerei per inviarlo a caso a una pagina con messaggi fastidiosi e rumorosi e altre volte lo mando a siti porno davvero cattivi. Tutto ciò che potrebbe metterlo nei guai o imbarazzato se è in pubblico.


1
Tempi disperati richiedono misure disperate, questo sarebbe così fastidioso. Potrei aggiungere il reindirizzamento a Rick Roll, lol.
No Sssweat,

1
Ciò significherebbe che è bloccato
Ángel,

2

Ho scritto un modulo appositamente per questo tipo di situazioni. Si chiama Spaces Enced e può essere trovato qui e funziona bloccando qualsiasi persona che registra il cui nome non contiene almeno 1 spazio. Può essere ulteriormente configurato e puoi selezionare quale personaggio deve apparire quante volte. Ha anche un tasso di successione vicino al 100%

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.