2009-06-09 11 views
23

Cos'è un buon captcha invisibile? Il mio sito richiede JavaScript quindi tutto ciò che richiede va bene.Cos'è un buon captcha invisibile?

+3

Non conterei su JavaScript per qualcosa del genere. –

+0

leggi di più captcha in PHP http://php999.blogspot.in/2014/04/implementation-of-captcha-in-javascript.html – Smoke

risposta

4

Ho usato la tecnica di una casella di testo Display: None, e rifiutando qualsiasi sottomissione che la riempie e ho avuto abbastanza fortuna con quello.

+0

Il metodo "honeypot". Non funzionerà su un sito di alto profilo come YouTube, Twitter, ecc, ma ha funzionato in modo molto efficace per me. –

12

Here's un semplice captcha di matematica di Phil Haack. Funziona anche con javascript disabilitato.

Nelle sue parole:

Il modo in cui funziona è che rende alcuni javascript per eseguire un semplice calcolo davvero e scrivere la risposta in un campo di testo nascosto utilizzando javascript. Quando l'utente invia il modulo , prendiamo il valore inviato da nel campo modulo nascosto, lo abbiniamo a un valore salato segreto, quindi eseguiamo l'hash del insieme. Quindi confrontiamo questo valore con l'hash della risposta prevista , che viene memorizzata in un campo di modulo nascostocodificato in base 64. Se JavaScript è disabilitato, allora rendiamo la domanda come testo a fianco di un campo di testo visibile, dando così agli utenti leggendo il vostro sito tramite javascript non browser una possibilità di commentare.

+0

Mi sono quasi lamentato del fatto che la matematica non è abbastanza invisibile ma che la soluzione è intelligente: D –

+3

l'unico problema è se il bot NON ha js che sarà inutile. – My1

1

Leggi la risposta qui:

http://stackoverflow.com/questions/450835/how-do-you-stop-scripters-from-slamming-your-website-hundreds-of-times -a-secondo

E questa domanda non è relativa all'amministratore di sistema. Il posto migliore per chiedere sarebbe stato stackoverflow.com

45

Aggiungere un nuovo campo di input, etichettarlo "Si prega di lasciare vuoto", nasconderlo usando CSS, e ignorare il post se tale campo è compilato. Qualcosa di simile:

Quindi un essere umano non vedrà quel campo (a meno che non abbiano disattivato i CSS, in tal caso vedranno l'etichetta e lasceranno vuoto) ma un robot spam lo riempirà. Qualsiasi post con quel campo popolato deve provenire da un robot antispam.

+1

Bello, non avrei mai pensato di farlo! – jjxtra

+4

+1, ho usato questa tecnica con successo –

+11

Questo sembra bello, ma non funzionerà se il tuo sito è mirato in modo specifico - ad esempio manualmente, qualcuno vuole ispezionare il tuo modulo per riempire il tuo sito di spazzatura. Guardando il tuo codice HTML capiranno che devono lasciare il campo vuoto, quindi quando creano il robot lo prendono in considerazione e lo fanno. Funziona solo per gli spider automatizzati al 100%, cercando di inviare spam ai siti con link ad altri, ma non se il tuo sito è l'obiettivo specifico per un attacco. – Seb

-1

Se vuoi dire - usa il captcha che un umano non può vedere come un test di validazione umano - penso che sia impossibile.

In questo modo un robot ignorando il captcha passerà per una persona reale! Sembra una trappola per un ingenuo robot di spam.

Se si desidera che il sito protetto da captcha funzioni con client privi di javascript, è necessario digitalizzarlo in html.

Inoltre, se è possibile identificare in modo attendibile gli utenti fidati (tramite una chiamata di giudizio o rilevando qualche schema di utilizzo), è possibile autorizzarli a pubblicare sul proprio sito senza captcha.

+0

Un'applicazione pratica della tecnica honeypot mostra che è stata molto efficace per [quasi un decennio] (http://www.kodewerx.org/forum/ viewtopic.php? p = 73.950 # p73950). E qualche anno fa ho unito l'honeypot con una sfida di Q & A (http://www.kodewerx.org/forum/viewtopic.php?p=80205#p80205) che è difficile per l'intelligenza artificiale [fill-in-the-blanks] . per esempio. Google non può rispondere a queste domande, ma la maggior parte degli alunni possono farlo. –