Idea per CAPTCHA

3

I CAPTCHA hanno molti aspetti negativi, l'accessibilità e la facilità d'uso sono due cose che vengono spesso sacrificate.

Ho pensato a un'idea che potrebbe funzionare molto bene, è mai stato tentato prima?

Prerequisiti

Il prerequisito è che la verifica dell'email deve essere un requisito sul tuo sito web, che al momento è molto comune.

Processo iniziale

  • Utente / robot si iscrive
  • Utente / robot notificato che è richiesta la verifica della posta
  • Email inviata in formato HTML

Link di verifica nell'email

Il link email includerà il link di verifica. Per l'esempio, ho dato i parametri del link 3 querystring:

  • UID - ID della registrazione dell'utente
  • Codice - Codice univoco per l'attivazione
  • F - Fail flag

Renderà come segue:

Mal'HTMLnell'emailèilseguente:

Thankyouforregistering!<br/><br/>Toactivateyouraccount,pleaseclickonthelinkbelow:<br/><br/><ahref="http://www.example.com?UID=27&Code=GR452AF&F=1">h</a><a href="http://www.example.com?UID=27&Code=GR452AF&F=2">ttp://www.example.com/Verify</a>

<br /><br />
Regards<br />
Tom

Esito

Il presupposto qui è che il robot farà clic sul link di fail mentre è il primo nella email, o farà clic su entrambi i link.

  • Se si fa clic su entrambi i link, possiamo contrassegnarli come potenziali bot.
  • Se si fa clic solo sul primo link, possiamo contrassegnarli come potenziali bot
  • Se il secondo link è l'unico su cui si fa clic, possiamo presumere che siano un utente legittimo

Recensione

Svantaggi:

  • Le e-mail HTML per il client devono essere abilitate o sarà molto confuso per il client finale
  • Una piccola percentuale di clic nell'area dei link del contenitore di miele (tuttavia potresti probabilmente nascondere questo link H con un po 'di HTML in più, ma questo rischia di confondere gli utenti finali a seconda di come ti avvicini a questo, quindi non proverei)

Vantaggi

  • Non è un pass / fail binario. Se viene fatto clic sul link di errore, è possibile rivedere manualmente l'account o inviare nuovamente un collegamento di attivazione.
  • È accessibile (a condizione che il client abiliti l'email HTML)
  • Non è interruttivo per la facilità d'uso, il flusso per l'utente è naturale e non sanno che hanno appena superato un test CAPTCHA

Se questo metodo ha un tasso di falsi positivi inferiore rispetto ai metodi tradizionali, vale la pena avere. Non solo, ma è un processo di verifica invisibile dal punto di vista degli utenti autentici.

Pensieri? Critiche? È stato fatto prima?

    
posta Tom 21.04.2011 - 18:42
fonte

4 risposte

11

Penso che questa sia una cattiva idea per due motivi:

1) Vera accessibilità. Pensa, persone non vedenti a cui il loro sistema di posta elettronica ha letto tramite il sistema.

2) Facile da aggirare. A che serve un captcha che qualcuno possa scrivere una riga di codice da battere? Se questo è tutto ciò che vuoi, puoi semplicemente chiedere loro che cos'è 1 + 1.

    
risposta data 21.04.2011 - 18:58
fonte
4

Il problema è che questo tipo di approccio funziona solo fino a quando è sufficientemente raro che gli autori di bot non possano essere disturbati a codificarlo. Non appena questo tipo di approccio diventa leggermente diffuso, i produttori di bot modificheranno semplicemente il loro codice per sconfiggerlo. Ci sono molti siti che hanno sistemi relativamente semplici per sconfiggere (ad esempio, rispondere a un semplice problema aritmetico, digitare "Sono un umano" in una scatola, ecc.) Che funzionano perché sono sufficientemente idiosincratici e i siti sufficientemente bassi da non essere nei bot scrittori interessa preoccuparsi di programmare per loro.

Se avessi intenzione di includere un link honeypot, tuttavia, probabilmente stai meglio nascondendolo dagli umani rendendolo praticamente invisibile agli umani-- cioè il carattere più piccolo con un colore che corrisponde allo sfondo o a 1 pixel immagine che corrisponde allo sfondo. Questo almeno rende meno probabile che un essere umano possa inavvertitamente fare clic sul link sbagliato.

    
risposta data 21.04.2011 - 19:01
fonte
1

Per prima cosa, questa soluzione si basa su alcune ipotesi sui robot che si registreranno sul sito, principalmente sull'ipotesi che il robot segua il primo link che trova nell'e-mail.

Quindi seguirebbe solo il primo tag <A> che trova? Se è così, puoi semplicemente lasciare il tag vuoto e sperare che il robot lo riprenda. Oppure, se segue il primo tag <A> non vuoto, trova che potresti inserire il tag attorno al testo e nascondere il tag usando CSS. Oppure se segue il primo tag <A> non visibile visibile che trova ...

E tutto ciò presuppone che i robot che stanno attaccando il sito siano robot generici che non hanno familiarità con il processo di registrazione. Se il robot ritorna con un errore a chiunque lo stia monitorando dicendo che non può registrarsi, lo sviluppatore potrebbe facilmente scrivere codice per risolvere i trucchi HTML che potresti scrivere.

Complessivamente, tuttavia, penso che non sia troppo difficile dire all'utente che deve attivare l'HTML anche solo per una email, potrebbe tenere fuori i robot almeno per un po 'di tempo prima che qualcuno si preoccupi di scrivere il codice per ignoralo e se riesci a nascondere un tag <A> non vuoto prima del link reale, potresti anche provare e vedere cosa succede!

    
risposta data 21.04.2011 - 18:59
fonte
0

Il miglior "CAPTCHA" di tutti, viene utilizzato da Gmail quando qualcuno tenta di creare una grande quantità di account di posta elettronica. Scrivi il tuo numero di telefono e seleziona se vuoi una chiamata o un SMS. Ti inviano tramite chiamata o SMS, il codice per scriverlo nel modulo.

Ovviamente, questo sistema ha un costo, ma penso che sia il migliore.

    
risposta data 21.04.2011 - 20:10
fonte

Leggi altre domande sui tag