2009-09-19 12 views
8

Sto cercando ispirazione qui. Devo utilizzare una sorta di verifica umana per il mio sito Web, ma il metodo più comune in questi giorni (chiedere agli utenti di digitare le lettere & che vedono in un'immagine in una casella di testo) sembra un po 'spazzatura - Lo trovo difficile a volte per capire quali sono i numeri delle lettere &.metodi alternativi captcha

Ci deve essere un modo migliore!

Ho avuto alcune idee, la migliore sembra essere quella di mostrare agli utenti una serie di immagini (4-6), e chiedere loro di rispondere a una domanda basata sul contenuto delle immagini, come ad esempio:

(mostra alcune forme geometriche) "Quale immagine ha 3 lati?"

o

(immagine di esposizione degli animali) "che animale può volare?"

Questo ha il vantaggio di essere facile da programmare e, si spera, facile da passare.

Qualcuno può pensare ad altri approcci a questo problema? O forse individuare difetti nel sistema sopra descritto? È possibile rendere tali sistemi sia più facili da passare per gli umani, sia più difficile da far passare per i robot?

risposta

2

Anche se è un po 'vecchio, ho davvero trovato KittenAuth un approccio captcha divertente (e probabilmente molto efficace). Sembra che ci sia solo uno demo on their contact page.

Il problema con gli approcci basati su immagini puri (al contrario delle immagini testuali) è che si sta sostanzialmente impedendo agli utenti non vedenti di utilizzare il sito. L'autore di KittenAuth lo ha riconosciuto su uno dei commenti sul suo sito.

Come un piccolo cavaliere divertente per KittenAuth, this page ha "10 dei peggiori captcha di tutti i tempi", tra cui uno dei miei preferiti:

calculus captcha

+0

La forma era tratto da http://random.irb.hr/signup.php –

+0

modo pulito di avere solo membri ben istruiti :) – Zed

+0

Membri ben educati, o solo qualcuno (o qualcosa!) che può usare wolfram alpha: http: // www.wolframalpha.com/input/?i=Dt[4+sin+(7x+-+pi/2),+x]++/.+x+-%3E+0 – Joren

1

provare a utilizzare un sistema di domanda sfida in cui una semplice domanda richiede una semplice risposta cognitiva. Ad esempio, chiedi a un utente di rispondere alla seguente domanda di esempio:

Tre auto sulla strada possono vedere altre tre automobili. Quante auto ci sono?

La tecnologia non è così avanzata che un bot sensibile alla larghezza di banda è in grado di rispondere a tale domanda e tuttavia la domanda è facile da rispondere. Un utente deve inserire tre o tre per verificare che siano un essere umano e non una macchina. Dovresti avere una banca abbastanza grande di domande che un bot non farebbe semplicemente pingare il tuo sito guardando le domande da registrare in modo che possano tornare con le risposte in mano.

+3

Hai appena fallito il tuo captcha. Se ogni auto può vedere altre tre auto, ci sono quattro macchine in totale. – SquareCog

+0

No, ovviamente le 3 macchine insieme formano un collettivo tipo Borg, e quindi "vedono" come uno. Lo sapresti se tu fossi uno di noi. – RedFilter

1

Mi piace particolarmente l'esempio "che animale può volare". Semplice & Efficace.

Ma questo genere di cose potrebbe essere abusato. Non sarebbe difficile darle una preferenza culturale — o una percezione.

E, come mostrato da austin cheney, potrebbe facilmente diventare una sorta di test di intelligenza e si avrebbe un problema di accessibilità.

+1

(vorrei sottolineare che la mia risposta è arrivata prima del commento di SquareCog. Mi riferivo alla menzione di Austin di "semplice risposta cognitiva" come un "test di intelligenza" e nient'altro.) – pavium

+0

"che animale può volare" un pipistrello di Ovviamente :) – Rucent88

1

Provare a utilizzare un processo di invio basato su Ajax che viene attivato facendo clic su un pulsante normale (non un pulsante di invio), è davvero facile con jQuery.

Per quanto posso dire, gli spambots non hanno javascript.

Se sei preoccupato per gli utenti senza javascript abilitato, penso che sia perfettamente ok per non essere in grado di inviare il modulo. Se non possono fidarsi di te per abilitare javascript sul tuo sito, non è colpa tua se non possono utilizzare il sito web nella sua massima estensione.

EDIT:

Vedi anche: Practical non-image based CAPTCHA approaches?

Il problema, però, se qualcuno si rivolge il sito di proposito, questo tipo di tecnica non funzionerà.

EDIT2:

non posso fornire un link ad un vero e proprio esempio di vita, ma ho blogged su di esso con un po 'più particolari, ecco alcuni esempi di codice:

function submit_form() 
{ 
    jQuery.ajax({ 
     "type": "POST", // or GET 
     "url": 'action_url', // The url you wish to send the data to, the url you'd put in the "action" attribute on the form tag 
     "data": jQuery("form#the-form").serialize(), // The data you'll send. You need to get the form somehow. Easiest way is to give it an id. 
     "dataType": "json", // Only put this if the server sends the response in json format 
     "success": function(data, textStatus) // server responded with http status 200 
     { 
      // This is the happy case: server response has arrived 
     }, 
     "error": function(req, textStatus, errorThrown) // maybe HTTP 404 or HTTP 500 
     { 
      // something went wrong, the response didn't go through or the response didn't come. Handle the situation: let the user know, or something. 
     }, 
     "complete": function(req, textStatus) // This one always gets called anyway 
     { 
      // cleanup after yourself 
     } // XXX careful: if you put a comma here, IE6 will fail 
     }); 
} 
+0

Potrebbe essere vero in questo momento, ma non penso che ci vorrà molto prima che gli spambots possano effettivamente usare Javascript. Ci sono diverse librerie che rendono molto facile per gli script analizzare ed eseguire Javascript. –

+0

Nota come ho detto di non utilizzare un pulsante di invio standard, ma un pulsante normale con il metodo onclick. Se gli spambots utilizzano javascript, devono capire quale pulsante fare clic, supponendo che si tratti di un pulsante e non di un tag di ancoraggio con un evento onclick. – hasen

+0

Anche così, sembra che con questa rotta stiamo solo ritardando l'inevitabile? – alphthethird