2012-05-23 83 views
6

Sto cercando di utilizzare un'alternativa a Captcha (o Recaptcha) per il modulo di registrazione sul sito Web su cui sto lavorando.Gli spambots si dirigono direttamente al server o compilano moduli HTML?

Credo che Captcha abbia un impatto negativo su UX. Stavo guardando ad utilizzare campi nascosti, ma a quanto pare non sono efficaci a tutti (Riferimento: http://radio.javaranch.com/davo/2008/10/15/1224063498569.html)

Un commento su tale articolo recita:

Come qualcuno che scrive i cracker CAPTCHA come parte del mio lavoro (no, non per lo spamming ), posso assicurarti che un campo nascosto non farebbe assolutamente il viaggio . Come menzionato in un altro poster, controllo il traffico over the wire, e non presta molta attenzione a ciò che accade nel codice HTML del modulo .

Questo mi ha portato a credere che gli spambot facciano richieste POST dirette al server, piuttosto che richiedere il modulo e compilarlo.

Se è il caso, cosa succede se creo un campo nascosto di sola lettura che pre-popola con un hash memorizzato in SESSIONE. Quando l'utente invia il modulo, posso confrontare i valori. Funzionerebbe come un modo per tenere lontani gli spambots o sto supervisionando qualcosa?

Se il modulo non viene mai richiesto, ovviamente non troverei alcun hash memorizzato in sessione e potrei quindi ignorare la richiesta.

+3

Qui stai facendo almeno tre ipotesi da riesaminare: 1. Che tutti i cracker CAPTCHA utilizzino le stesse tecniche; 2. Che tu abbia avuto l'idea che le persone che costruiscono i CAPTCHA professionalmente e le persone che li violano professionalmente non hanno (e non sono riusciti a capirlo); 3. Che il tuo sito sarà un obiettivo per gli spammer abbastanza presto da dedicare tempo di sviluppo a questo proprio ora. Non lo fanno, non lo hai, e non lo è. –

+1

@Jordan: Sono d'accordo che sto facendo le prime due ipotesi. Sfortunatamente, il terzo non è uno di questi. Sto ancora lavorando al sito, ho completato la funzionalità di registrazione la settimana scorsa e ho già 3 bot evidenti nel mio database. – xbonez

+0

@xbonez La tua affermazione qui nei commenti sostanzialmente smentisce la "credenza" a cui sei stato portato. –

risposta

6

L'aggiunta di un altro campo con una sfida legata a una variabile di sessione lato server è un buon approccio; richiederebbe uno sforzo considerevolmente maggiore da parte dei bot spam, cioè dovranno caricare e analizzare il modulo, compilarlo e fare un'altra richiesta (inviando i cookie necessari).

Si potrebbe anche considerare di aggiungere JavaScript per modificare la sfida specificata e modificarla in un certo modo. L'utente malintenzionato dovrebbe quindi scoprire che cosa fa il codice prima di poterlo replicare in modo automatico. Le trasformazioni possono essere semplici operazioni rot13 o più complesse xor. Cose come md5, sha1 sono algoritmi stabiliti, quindi quelli sono una scelta sbagliata; deve essere personalizzato.

Ovviamente, se un utente malintenzionato è impegnato a scegliere come target il tuo sito, non c'è molto che puoi fare per impedire che lo spam entri; questa è la brutta verità. Ad esempio, potrebbero eseguire Selenium e aggirare tutta la protezione JavaScript che è stata attentamente costruita.

+1

Mi piace l'idea di portare anche JS nel mix. Quando hai detto "usa Javascript per modificare la sfida", cosa avevi in ​​mente? Qualcosa come, forse, invertire l'hash? – xbonez

+0

Sono d'accordo, in generale l'intero punto dei captcha ecc. È di aumentare il lavoro computazionale per lo spammer in modo che lo spamming diventi più costoso. Avere qualche calcolo fatto nel browser va verso questo obiettivo. – jhonkola

+0

@xbonez Ho aggiunto un esempio di "modifica della sfida" nella risposta –

0

Direi che dipende dal bot. Se qualcuno di mira il vostro sito, questo può essere aggirato facilmente:

  1. pagina Richiesta con la forma e compilato in valore di sessione
  2. Compila il modulo e inviarlo.

Direi che non è quasi nessuna protezione.

Purtroppo non ho molta familiarità con lo stato attuale dei robot e su come funzionano, quindi questo è solo il mio input su quanto sarebbe facile aggirare questa implementazione.

+0

È vero che un bot indirizzato al mio sito web potrebbe eludere la protezione. Un bot avanzato potrebbe analizzare i CSS e riconoscere anche i campi nascosti. Mi accontenterei del "metodo più efficace" poiché probabilmente un "metodo perfetto" non esiste. – xbonez

0

Spambot diversi utilizza modi diversi.

Ma più flessibili bots spam: 1. richiesta di pagina con il modulo di 2. leggere ciò campi contiene 3. inviare richiesta POST con campi trovati con alcuni valori pieni

cann't certo, che tutti i robot possono trovare e lasciare il tuo input "token-form-token". Non sei sicuro che tutti i robot possano usare javascript (un altro modo per proteggerti - aggiungi il campo richiesto per l'invio con js). Ma i robot sono molto diversi.

2

Sfortunatamente, ho il sospetto che tu abbia già degli spammer specificamente mirati al tuo sito. Se hai implementato manualmente il login e la registrazione, è improbabile che uno spambot abbia la logica in grado di registrarsi senza essere specificamente adattato ai tuoi moduli.

Le altre soluzioni sono buone, e mentre aiuteranno, nessuna di esse impedirà nemmeno uno spammer moderatamente determinato. Un sacco di spambots funzionano come plug-in del browser, quindi è improbabile che l'aiuto di uno spambot non valuti JavaScript o che non richieda il modulo sia molto lungo. Per lo meno, un CAPTCHA per la registrazione (e forse per ogni post, o qualsiasi cosa faccia il tuo sito, fino a quando l'account viene approvato manualmente) sarà probabilmente obbligatorio.

So che non si vuole influire sull'esperienza utente, ma i messaggi di spam e gli account sono molto più dannosi per UX dei CAPTCHA. Mordete il proiettile e fate tutto il possibile per rallentare gli spammer, altrimenti i vostri utenti guarderanno altrove.

Concesso, i CAPTCHA non sono soluzioni complete: esiste un software in grado di risolverli (in alcuni casi) in modo più accurato rispetto agli umani. Loro, come i cereali per la colazione arricchiti, fanno semplicemente parte di questa colazione completa - e nessuno sano di mente potrebbe iniziare il giorno libero con lo SPAM. ;)

I moderatori di nuovi utenti probabilmente si dimostreranno molto utili.

+0

Sì, sembra che dovrò andare con qualcosa di più aggressivo. Sto pensando di andare con la verifica della posta elettronica. Gli spambots non sono in grado di verificare i conti, vero? – xbonez

+0

Verifica e-mail? Certo che ne sono capaci, nel complesso - È un problema banale. Non tutti gli spambots possono, ma tenere presente che un sacco di spam si verifica dopo che un utente UMANO imposta l'account –

+1

Pensa razionalmente: se esistesse un metodo di verifica che un bot non poteva passare, TUTTI lo userebbero. Non ci sarebbe più lo SPAM. Pertanto, nulla è infallibile. –