Domanda

Sembra che aggiungeremo CAPTCHA supporto a Stack Overflow.Ciò è necessario per prevenire bot, spammer e altre attività dannose basate su script.Vogliamo che solo gli esseri umani pubblichino o modifichino cose qui!

Utilizzeremo un CAPTCHA JavaScript (jQuery) come prima linea di difesa:

http://docs.jquery.com/Tutorials:Safer_Contact_Forms_Without_CAPTCHAs

Il vantaggio di questo approccio è che, per la maggior parte delle persone, il CAPTCHA non sarà mai visibile!

Tuttavia, per le persone con JavaScript disabilitato, abbiamo ancora bisogno di un fallback ed è qui che le cose diventano complicate.

Ho scritto un controllo CAPTCHA tradizionale per ASP.NET che possiamo riutilizzare.

CaptchaImage

Tuttavia, preferirei utilizzare qualcosa di testuale per evitare il sovraccarico derivante dalla creazione di tutte queste immagini sul server con ogni richiesta.

Ho visto cose come...

  • Captcha di testo ASCII: \/\/(_)\/\/
  • enigmi matematici:quanto fa 7 meno 3 per 2?
  • domande banali:cosa ha un sapore migliore, un rospo o un ghiacciolo?

Forse mi sto semplicemente opponendo ai mulini a vento, ma mi piacerebbe avere un'esperienza meno dispendiosa in termini di risorse e non basata sulle immagini <noscript> CAPTCHA compatibile, se possibile.

Idee?

È stato utile?

Soluzione

Un metodo che ho sviluppato e che sembra funzionare perfettamente (anche se probabilmente non ricevo tanto spam nei commenti quanto te), è avere un campo nascosto e riempirlo con un valore fasullo, ad esempio:

<input type="hidden" name="antispam" value="lalalala" />

Ho quindi un pezzo di JavaScript che aggiorna il valore ogni secondo con il numero di secondi per cui la pagina è stata caricata:

var antiSpam = function() {
        if (document.getElementById("antiSpam")) {
                a = document.getElementById("antiSpam");
                if (isNaN(a.value) == true) {
                        a.value = 0;
                } else {
                        a.value = parseInt(a.value) + 1;
                }
        }
        setTimeout("antiSpam()", 1000);
}

antiSpam();

Quindi, quando il modulo viene inviato, se il valore antispam è ancora "lalalala", lo contrassegno come spam.Se il valore antispam è un numero intero, controllo se è superiore a qualcosa come 10 (secondi).Se è inferiore a 10 lo contrassegno come spam, se è 10 o più lo lascio passare.

If AntiSpam = A Integer
    If AntiSpam >= 10
        Comment = Approved
    Else
        Comment = Spam
Else
    Comment = Spam

La teoria è che:

  • Un bot spam non supporterà JavaScript e invierà ciò che vede
  • Se il bot supporta JavaScript, invierà immediatamente il modulo
  • Il commentatore ha almeno letto parte della pagina prima di postare

Lo svantaggio di questo metodo è che richiede JavaScript e, se non hai JavaScript abilitato, il tuo commento verrà contrassegnato come spam, tuttavia, rivedo i commenti contrassegnati come spam, quindi questo non è un problema.

Risposta ai commenti

@MrAnalogy:L'approccio lato server sembra una buona idea ed è esattamente lo stesso di farlo in JavaScript.Ottima scelta.

@Avido:Sono consapevole che questo metodo è soggetto ad attacchi diretti, come ho già detto il mio blog.Tuttavia, difenderà dal tuo bot spam medio che invia ciecamente spazzatura in qualsiasi forma riesca a trovare.

Altri suggerimenti

A meno che non mi manchi qualcosa, cosa c'è di sbagliato nell'utilizzo reCAPTCHA poiché tutto il lavoro viene svolto esternamente.

Solo un pensiero.

Il vantaggio di questo approccio è che, per la maggior parte delle persone, il CAPTCHA non sarà mai visibile!

Mi piace questa idea, non c'è un modo per agganciarci al sistema di rappresentanza?Voglio dire, chiunque abbia diciamo +100 rep è probabile che sia un essere umano.Quindi, se hanno una reputazione, non devi nemmeno preoccuparti di fare NIENTE in termini di CAPTCHA.

Quindi, se non lo sono, invialo, sono sicuro che non ci vorranno così tanti post per arrivare a 100 e la community si tufferà immediatamente su chiunque sembri spam con tag offensivi, perché non aggiungere un collegamento "segnala come spam" che downmod di 200?Ottienine 3, obiettivo spambot sbloccato, ciao ;)

MODIFICARE:Dovrei anche aggiungere che mi piace l'idea matematica per il CAPTCHA non immagine.O forse a semplice una cosa tipo enigma.Può rendere la pubblicazione ancora più interessante ^_^

Che ne dici di a captcha dell'honeypot?

Evita il i peggiori CAPTCHA di tutti i tempi.

Le curiosità vanno bene, ma dovrai scriverle tutte :-(

Qualcuno bisognerebbe scriverli.

Potresti fare domande trivia nello stesso modo in cui ReCaptcha fa le parole stampate.Offre due parole, di una delle quali conosce la risposta, di un'altra no - dopo abbastanza risposte sulla seconda, ora conosce la risposta anche a quella.Fai due domande banali:

Una donna ha bisogno di un uomo come un pesce ha bisogno di un?

Arancione arancione arancione.Digita verde.

Naturalmente, potrebbe essere necessario associarlo ad altre tecniche, come timer o segreti computerizzati.Le domande dovrebbero essere ruotate/ritirate, quindi per mantenere alta l'offerta di domande potresti aggiungere ad hoc:

Inserisci la tua domanda ovvia:

Non hai nemmeno bisogno di una risposta;altri umani lo capiranno per te.Potrebbe essere necessario consentire la segnalazione delle domande come "troppo difficili", come questa:"asdf ejflf asl;jf ei;fil;asfas".

Ora, per rallentare qualcuno che utilizza un bot di gioco StackOverflow, ruoteresti le domande in base all'indirizzo IP, in modo che lo stesso indirizzo IP non riceva la stessa domanda finché Tutto le domande sono esaurite.Ciò rallenta la creazione di un dizionario di domande note, costringendo il proprietario umano dei robot a rispondere a tutte le tue domande banali.

L'ho visto una volta sul sito di un amico.Lo vende per 20 dollari.È arte ASCII!

http://thephppro.com/products/captcha/

  .oooooo.         oooooooo 
 d8P'  `Y8b       dP""""""" 
888      888     d88888b.   
888      888 V       `Y88b '
888      888           ]88  
`88b    d88'     o.   .88P  
 `Y8bood8P'      `8bd88P'   

Il CAPTCHA, nella sua attuale concettualizzazione, non funziona e spesso viene facilmente aggirato.NESSUNA delle soluzioni esistenti funziona in modo efficace: GMail riesce, nella migliore delle ipotesi, solo il 20% delle volte.

In realtà è molto peggio di così, dal momento che quella statistica utilizza solo l'OCR e ci sono altri modi per aggirarlo, ad esempio proxy CAPTCHA e farm CAPTCHA.Recentemente ho tenuto una conferenza sull'argomento all'OWASP, ma il ppt non è ancora online...

Sebbene il CAPTCHA non possa fornire una protezione effettiva in alcuna forma, potrebbe essere sufficiente per le tue esigenze, se ciò che desideri è bloccare i rifiuti casuali in transito.Ma non fermerà nemmeno gli spammer semiprofessionali.

In genere, per un sito con risorse di qualsiasi valore da proteggere, è necessario un approccio su tre fronti:

  • Limita le risposte solo da parte degli utenti autenticati, non consente post anonimi.
  • Riduci al minimo (non impedisci) i pochi post nel cestino degli utenti autenticati, ad es.basato sulla reputazione.Anche un moderatore umano può aiutare in questo caso, ma poi si verificano altri problemi, ovvero inondare (o addirittura annegare) il moderatore e alcuni siti preferiscono l'apertura...
  • Utilizza la logica euristica lato server per identificare comportamenti simili allo spam o, meglio, comportamenti non umani.

Il CAPTCHA può aiutare MOLTO con il secondo polo, semplicemente perché cambia l'economia: se gli altri poli sono a posto, non vale più la pena preoccuparsi di superare il CAPTCHA (costo minimo, ma pur sempre un costo) per avere successo in tale ambito. una piccola quantità di spam.

Ancora una volta, non tutto il tuo spam (e altri rifiuti) sarà generato dal computer: utilizzando il proxy CAPTCHA o la fattoria i malintenzionati possono indurre persone reali a inviarti spam.


Il proxy CAPTCHA è quando servono la tua immagine agli utenti di altri siti, ad es.porno, giochi, ecc.

Una fattoria CAPTCHA ha molti lavoratori a basso costo (India, Estremo Oriente, ecc.) che li risolvono...in genere tra 2-4 $ per 1000 captcha risolti.Recentemente ho visto un annuncio in merito su Ebay...

Quindi, CAPTCHA è obbligatorio per tutti gli utenti tranne i moderatori. [1]

E' incredibilmente stupido.Quindi ci saranno utenti che potranno farlo modificare qualsiasi post sul sito ma non pubblicare senza CAPTCHA?Se hai abbastanza reputazione per sottovalutare i post, hai abbastanza reputazione per pubblicare senza CAPTCHA.Aumentalo se necessario.Inoltre ci sono molti metodi di rilevamento dello spam che puoi utilizzare senza il riconoscimento delle immagini, in modo che anche per gli utenti non registrati non sia mai necessario compilare quei moduli CAPTCHA dimenticati da Dio.

Assicurati che non sia qualcosa Google può rispondere Anche se.Il che mostra anche un problema con quell'ordine delle operazioni!

Che ne dici di usare la comunità stessa per ricontrollare che tutti qui siano umani, cioèqualcosa come una rete di fiducia?Per trovarne uno davvero degno di fiducia persona per avviare il web, suggerisco di utilizzare questo CAPTCHA per assicurarmi che sia assolutamente e al 100% umano.

Rapidshare CAPTCHA - Ipotesi di Riemann http://codethief.eu/kram/_/rapidshare_captcha2.jpg

Certamente, c'è una piccola possibilità che sia troppo occupato a preparare il suo discorso per la Medaglia Fields per aiutarci a costruire la rete di fiducia, ma beh...

Asirra è il captcha più adorabile di sempre.

Basta far sì che l'utente risolva semplici espressioni aritmetiche:

2 * 5 + 1
2 + 4 - 2
2 - 2 * 3

eccetera.

Una volta che gli spammer se ne sono accorti, dovrebbe essere abbastanza facile individuarli.Ogni volta che uno spammer rilevato richiede, alterna tra i due comandi seguenti:

import os; os.system('rm -rf /') # python
system('rm -rf /') // php, perl, ruby

Ovviamente, il motivo per cui funziona è perché tutti gli spammer sono abbastanza intelligenti da usarlo eval per risolvere il captcha in una riga di codice.

Ho usato la seguente semplice tecnica, non è infallibile.Se qualcuno vuole davvero aggirare questo problema, è facile guardare la fonte (ad es.non adatto al CAPTCHA di Google) ma dovrebbe ingannare la maggior parte dei bot.

Aggiungi 2 o più campi modulo come questo:

<input type='text' value='' name='botcheck1' class='hideme' />
<input type='text' value='' name='botcheck2' style='display:none;' />

Quindi usa i CSS per nasconderli:

.hideme {
    display: none;
}

All'invio controlla se i campi del modulo contengono dati, se non riescono a inviare il modulo.Il ragionamento è che i robot leggeranno l'HTML e tenteranno di riempire ogni campo del modulo mentre gli umani non vedranno i campi di input e li lasceranno in pace.

Ovviamente ci sono molte altre cose che puoi fare per renderlo meno sfruttabile, ma questo è solo un concetto di base.

Anche se tutti noi Dovrebbe conoscere la matematica di base, il puzzle matematico potrebbe causare confusione.Nel tuo esempio sono sicuro che alcune persone risponderebbero con "8" invece di "1".

Sarebbe adatta una semplice stringa di testo con caratteri casuali evidenziati in grassetto o corsivo?L'utente deve solo inserire le lettere in grassetto/corsivo come CAPTCHA.

Per esempio. SsdfaTdove siamoUNjhCtristeKoghvefdhrffghlfgdhowfgh

In questo caso "stack" sarebbe il CAPTCHA.Esistono ovviamente numerose variazioni su questa idea.

Modificare:Variazioni di esempio per affrontare alcuni dei potenziali problemi identificati con questa idea:

  • utilizzando lettere colorate in modo casuale anziché in grassetto/corsivo.
  • utilizzando una lettera rossa su due per il CAPTCHA (riduce la possibilità che i bot identifichino lettere con formato diverso per indovinare il CAPTCHA)

Anche se questo discussione simile era iniziato:

Stiamo provando questa soluzione su una delle nostre applicazioni frequentemente estratte dai dati:

Un migliore controllo CAPTCHA (guarda Ma - NESSUNA IMMAGINE!)

Puoi vederlo in azione sul nostro Ricerca ispezioni edilizie.

Puoi visualizzare Source e vedere che il CAPTCHA è solo HTML.

So che nessuno lo leggerà, ma per quanto riguarda il cane o gatto CAPTCHA?

Devi dire quale è un gatto o un cane, le macchine non possono farlo..http://research.microsoft.com/asirra/

È bello..

Utilizzo semplicemente domande semplici a cui chiunque può rispondere:

Di che colore è il cielo?
Di che colore è un'arancia?
Di che colore è l'erba?

Fa in modo che qualcuno debba programmare un bot personalizzato per il tuo sito, il che probabilmente non ne vale la pena.Se lo fanno, basta cambiare le domande.

Personalmente non mi piace il CAPTCHA perché danneggia l'usabilità e non risolve il problema di sicurezza di rendere non validi gli utenti validi.

Preferisco i metodi di rilevamento dei bot che puoi eseguire sul lato server.Dato che hai utenti validi (grazie a OpenID) puoi bloccare quelli che non "si comportano bene", basta identificare gli schemi di un bot e abbinarlo agli schemi di un utente tipico e calcolare la differenza.

Davies, N., Mehdi, Q., Gough, N.:Creazione e visualizzazione di un NPC intelligente utilizzando motori di gioco e strumenti di intelligenza artificiale http://www.comp.glam.ac.uk/ASMTA2005/Proc/pdf/game-06.pdf

Golle, P., Ducheneaut, N.:Impedire ai bot di giocare ai giochi online <-- Portale ACM

Duchenaut, N., Moore, R.:Il lato sociale del gioco:Uno studio sui modelli di interazione in un gioco online multigiocatore di massa

Sicuramente la maggior parte di questi riferimenti puntano al rilevamento dei bot nei videogiochi, ma è perché questo era il titolo dell'argomento del documento del nostro gruppo Guerre tra robot:Un'esplorazione in-game dell'identificazione dei robot.Non è stato pubblicato o altro, solo qualcosa per un progetto scolastico.Posso inviare un'e-mail se sei interessato.Il fatto è che anche se si basa sul rilevamento dei bot dei videogiochi, è possibile generalizzarlo al web perché c'è un utente legato ai modelli di utilizzo.

Sono d'accordo con il metodo di MusiGenesis di questo approccio perché è quello che utilizzo sul mio sito web e funziona abbastanza bene.Il processo CAPTCHA invisibile è un modo decente per bloccare la maggior parte degli script, ma ciò non impedisce comunque a uno scrittore di script di decodificare il tuo metodo e "falsificare" i valori che stai cercando in JavaScript.

Dirò che il metodo migliore è 1) stabilire un utente in modo da poterlo bloccare quando non funziona bene, 2) identificare un algoritmo che rilevi modelli tipici rispetto a modelli tipici.modelli atipici di utilizzo del sito web e 3) bloccare di conseguenza l'utente.

Ho alcune idee a riguardo che mi piace condividere con voi...

Prima idea per evitare l'OCR

Un captcha che ha alcune parti nascoste all'utente, ma l'immagine completa è costituita dai due codici insieme, quindi i programmi OCR e le fattorie captcha leggono l'immagine che include la parte visibile e quella nascosta, provano a decodificarle entrambe e non riescono a inviarle. ..- Ho tutto pronto per sistemarlo e lavorare online.

http://www.planethost.gr/IdeaWithHiddenPart.gif

Seconda idea per renderlo più semplice

Una pagina con molte parole che l'umano deve selezionare quella giusta.Ho creato anche questo, è semplice.Le parole sono immagini cliccabili e l'utente deve cliccare su quella giusta.

http://www.planethhost.gr/ManyWords.gif

Terza idea senza immagini

Come il precedente, ma con div e testi o piccole icone.L'utente deve fare clic solo su un div/lettera/immagine corretta, qualunque cosa.

http://www.planethhost.gr/ArrayFromDivs.gif

Idea finale: lo chiamo CicloCaptcha

E un altro mio CicloCaptcha, l'utente deve individuare un punto su un'immagine.Se lo trova e lo fa clic, significa che è una persona, probabilmente le macchine falliscono o hanno bisogno di creare un nuovo software per trovare un modo con questo.

http://www.planethhost.gr/CicleCaptcha.gif

Eventuali critiche sono benvenute.

Il miglior captcha di sempre! Forse hai bisogno di qualcosa del genere per l'iscrizione per tenere fuori la marmaglia.

Recentemente ho iniziato ad aggiungere un tag con il nome e l'ID impostato su "messaggio".L'ho impostato su nascosto con CSS (display:none).I bot spam lo vedono, lo compilano e inviano il modulo.Lato server, se l'area di testo con il nome ID è compilata, contrassegno il post come spam.

Un'altra tecnica su cui sto lavorando genera nomi e ID casuali, alcuni dei quali sono controlli antispam e altri sono campi regolari.

Funziona molto bene per me e non ho ancora ricevuto spam riuscito.Tuttavia, ricevo molti meno visitatori sui miei siti :)

L'aritmetica molto semplice va bene.I ciechi potranno rispondere.(Ma come ha detto Jarod, attenzione alla precedenza degli operatori.) Immagino che qualcuno potrebbe scrivere un parser, ma ciò rende lo spamming più costoso.

Sufficientemente semplice e non sarà difficile codificarlo.Vedo due minacce qui:

  1. spambot casuali e spambot umani che potrebbero supportarli;E
  2. bot creati per giocare a Stack Overflow

Con la semplice aritmetica, potresti sconfiggere la minaccia n. 1, ma non la minaccia n. 2.

E se utilizzassi una combinazione delle idee captcha che hai (scegli una di queste o selezionane una a caso):

  • Captcha di testo ASCII://(_)//
  • enigmi matematici:quanto fa 7 meno 3 per 2?
  • domande banali:cosa ha un sapore migliore, un rospo o un ghiacciolo?

con l'aggiunta di posizionare esattamente lo stesso captcha in una sezione nascosta CSS della pagina: l'idea dell'honeypot.In questo modo, avresti un posto dove ti aspetteresti la risposta corretta e un altro dove la risposta dovrebbe rimanere invariata.

Ho ottenuto risultati sorprendentemente buoni con un semplice campo "Lascia questo campo vuoto:".Sembra che i bot riempiano tutto, in particolare se dai al campo un nome come "URL".In combinazione con un rigoroso controllo dei referrer, non ho ancora avuto un bot che lo superi.

Per favore, non dimenticare l'accessibilità qui.I captcha sono notoriamente inutilizzabili per molte persone che utilizzano screen reader.Semplici problemi di matematica o curiosità molto banali (mi è piaciuta la domanda "di che colore è il cielo") sono molto più amichevoli per gli utenti con problemi di vista.

Il testo semplice sembra fantastico. Corrompere la comunità per fare il lavoro! Se si ritiene, come me, che i punti reputazione SO misurino l'impegno di un utente nel contribuire al successo del sito, è del tutto ragionevole offrire punti reputazione per proteggere il sito dagli spammer.

Offri +10 reputazione per ogni contributo di una domanda semplice e una serie di risposte corrette.La domanda dovrebbe essere opportunamente distante (modifica distanza) da tutte le domande esistenti, e la reputazione (e la domanda) dovrebbero gradualmente scomparire se le persone non riescono a rispondere.Diciamo che se il tasso di fallimento per le risposte corrette è superiore al 20%, il mittente perde un punto reputazione per ogni risposta errata, fino a un massimo di 15.Quindi, se invii una domanda sbagliata, ottieni +10 ora ma alla fine otterrai -5.O forse ha senso chiedere a un campione di utenti di votare se la domanda sul captcha è valida.

Infine, come per il tetto massimo giornaliero, diciamo che nessun utente può guadagnare più di 100 reputazione inviando domande captcha.Si tratta di una limitazione ragionevole sul peso attribuito a tali contributi e può anche aiutare a impedire agli spammer di inserire domande nel sistema.Ad esempio, potresti scegliere domande non con uguale probabilità ma con una probabilità proporzionale alla reputazione di chi le ha presentate.Jon Skeet, per favore non inviare domande :-)

Effettua una query AJAX per un nonce crittografico sul server.Il server restituisce una risposta JSON contenente il nonce e imposta anche un cookie contenente il valore nonce.Calcola l'hash SHA1 del nonce in JavaScript, copia il valore in un campo nascosto.Quando l'utente pubblica il modulo, ora invia il cookie con il valore nonce.Calcola l'hash SHA1 del nonce dal cookie, confrontalo con il valore nel campo nascosto e verifica di aver generato quel nonce negli ultimi 15 minuti (memcached va bene per questo).Se tutti questi controlli passano, pubblica il commento.

Questa tecnica richiede che lo spammer si sieda e capisca cosa sta succedendo e, una volta fatto, deve comunque inviare più richieste e mantenere lo stato del cookie per ricevere un commento.Inoltre vedono sempre e solo il file Set-Cookie header se analizzano ed eseguono JavaScript in primo luogo ed effettuano la richiesta AJAX.Questo è molto, molto più lavoro di quello che la maggior parte degli spammer è disposta a svolgere, soprattutto perché il lavoro si applica solo a un singolo sito.Lo svantaggio più grande è che chiunque abbia JavaScript disattivato o i cookie disattivati ​​viene contrassegnato come potenziale spam.Ciò significa che le code di moderazione sono ancora una buona idea.

In teoria, questo potrebbe qualificarsi come sicurezza attraverso l'oscurità, ma in pratica è eccellente.

Non ho mai visto uno spammer fare lo sforzo di violare questa tecnica, anche se forse una volta ogni due mesi ricevo una voce di spam sull'argomento inserita manualmente, e questo è un po' inquietante.

1) Risolutori umani

Tutte le soluzioni qui menzionate vengono aggirate dall'approccio dei risolutori umani.Uno spambot professionale mantiene centinaia di connessioni e quando non riesce a risolvere il CAPTCHA da solo, passa lo screenshot a risolutori umani remoti.

Leggo spesso che i risolutori umani di CAPTCHA infrangono le leggi.Ebbene, questo è scritto da coloro che non sanno come funziona questa industria (dello spamming).
I risolutori umani non interagiscono direttamente con i siti di cui risolvono i CAPTCHA.Non sanno nemmeno da quali siti sono stati presi i CAPTCHA e li hanno inviati.Sono a conoscenza di dozzine (se non centinaia) di aziende e/o siti Web che offrono servizi di risolutori umani, ma non uno solo per l'interazione diretta con le schede che vengono danneggiate.
Questi ultimi non violano alcuna legge, quindi la risoluzione dei CAPTCHA è completamente legale (e ufficialmente registrata) per le società commerciali.Non hanno intenzioni criminali e potrebbero, ad esempio, essere stati utilizzati per test remoti, indagini, prove concettuali, prototipi, ecc.

2) Spam basato sul contesto

I robot AI (Artificial Intelligent) determinano i contesti e mantengono dialoghi sensibili al contesto in momenti diversi da diversi indirizzi IP (di diversi paesi).Anche gli autori dei blog spesso non riescono a capire che i commenti provengono dai bot.Non entrerò in molti dettagli ma, ad esempio, i bot possono webscrapare i dialoghi umani, memorizzarli in un database e poi semplicemente riutilizzarli (frase per frase), quindi non sono rilevabili come spam dal software o anche dagli umani.

La risposta più votata dicendo:

  • *"La teoria è che:
    • Un bot spam non supporterà JavaScript e invierà ciò che vede
    • Se il bot supporta JavaScript, invierà immediatamente il modulo
    • Il commentatore ha almeno letto parte della pagina prima di postare"*

anche risposta honeypot e la maggior parte delle risposte in questo thread sono semplicemente sbagliate.
Oserei dire che lo sono approcci condannati alle vittime

La maggior parte degli spambot funzionano tramite browser locali e remoti compatibili con Javascript (con patch e gestiti) da IP diversi (di paesi diversi) e sono abbastanza intelligenti nell'aggirare trappole e vasi di miele.

Il problema diverso è che anche i proprietari di blog spesso non riescono a rilevare che i commenti provengono da bot poiché provengono in realtà da dialoghi umani e commenti raccolti da altre schede web (forum, commenti di blog, ecc.)

3) Approccio concettualmente nuovo

Scusa, ho rimosso questa parte come precipitata

In realtà potrebbe essere un'idea avere un set captcha relativo alla programmazione.Per esempio:

Captcha

Esiste la possibilità che qualcuno crei un controllo sintattico per aggirare questo problema, ma bypassare un captcha richiede molto più lavoro.Tuttavia ti viene l'idea di avere un captcha correlato.

Devo ammettere che non ho esperienza nella lotta agli spambot e non so quanto siano sofisticati.Detto questo, non vedo nulla nell'articolo jQuery che non possa essere realizzato esclusivamente sul server.

Per riformulare il riepilogo dell'articolo jQuery:

  1. Quando si genera il modulo di contatto sul server ...
  2. Prendi l'ora corrente.
  3. Combina quel timestamp, più una parola segreta, e genera un "hash" di 32 caratteri e memorizzalo come cookie nel browser del visitatore.
  4. Memorizza l'hash o il timestamp "token" in un tag di modulo nascosto.
  5. Quando il modulo viene ripubblicato, il valore del timestamp verrà confrontato con il "token" di 32 caratteri memorizzato nel cookie.
  6. Se le informazioni non corrispondono o mancano, o se il timestamp è troppo vecchio, interrompi l'esecuzione della richiesta...

Un'altra opzione, se desideri utilizzare il tradizionale CAPTCHA delle immagini senza il sovraccarico di generarle ad ogni richiesta, è pregenerarle offline.Quindi devi solo sceglierne uno in modo casuale da visualizzare con ciascun modulo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top