JS Captcha nella convalida del modulo di contatto per evitare i bot spam

0

Sto cercando opinioni su come potrebbe essere questo sistema captcha a prova di proiettile per evitare lo spam in un modulo di contatto.

Il modulo submit passa attraverso ajax.

Quindi creo 2 numeri casuali con javascript. La somma di quei numeri deve essere corretta. Sul modulo di invio, convalidare gli input e la somma. Se tutto è corretto, invio i dati del modulo e anche i due numeri con il risultato. Al backend, i 3 numeri devono essere ricevuti e la loro somma deve corrispondere, altrimenti qualcosa è andato storto.

La domanda è: questo sistema è abbastanza buono da evitare i robot spam? Qualsiasi altra idea è ben accetta.

Note:

Please avoid to recommend the google captcha due the department boss doesn't want to implement it.

    
posta pg02 25.04.2018 - 17:44
fonte

1 risposta

2

Questo è un captcha molto debole, e generalmente non è una buona soluzione.

  1. Esclude gli utenti legittimi che non hanno JavaScript abilitato. Ad essere onesti, quelli sono molto pochi, ma ancora non zero. Se questo modulo di contatto è necessario per la conformità legale, dovresti riflettere molto attentamente su tali problemi di accessibilità.

  2. Non blocca i bot che eseguono JavaScript. L'automazione del browser è diventata molto semplice, quindi dovresti pensare che molti robot eseguiranno tutto il JS proprio come un normale utente.

  3. I numeri non devono essere casuali. Potrei registrare un set di numeri e riutilizzarli per molte richieste arbitrariamente. Nota che la trippa (0, 0, 0) sarebbe una combinazione valida di numeri, quindi potrei scrivere hardcode se volessi inviare spam al tuo sito in particolare.

Fondamentalmente, il problema con questo metodo di convalida è che si basa esclusivamente sui dati forniti dal cliente, di cui non puoi fidarti. Invece, i captcha generalmente usano un sistema di risposta alle sfide: il server sfida il cliente con un problema unico. Questo problema dovrebbe essere facile per gli umani ma difficile per i bot.

Tuttavia, i sistemi di risposta alle sfide possono ancora essere aggirati facilmente delegando le sfide a un vero umano, mentre il bot viene eseguito automaticamente. In quanto tale, qualsiasi sistema captcha può solo limitare il tuo spam, ma non impedirlo mai completamente.

    
risposta data 25.04.2018 - 18:46
fonte

Leggi altre domande sui tag