Mi chiedo se sia una buona idea usare captcha quando si usa un token anti-CSRF nella pagina di accesso? Penso che sia impossibile per i robot pasticciare con la pagina di accesso perché il token cambia ad ogni richiesta.
Nella mia idea, il captcha nella pagina di accesso non è necessario e basta infastidire gli utenti che puoi usare captcha dopo diversi tentativi per evitare l'attaccante usando token e come ho detto captcha dopo diversi tentativi falliti. Usa captcha nella pagina di registrazione e usa il token in ogni forma che hai nel tuo sito web.
Sì, è necessario. Un token può ancora essere richiesto da un bruteforcer. Sì, costerebbe a bruteforcer una richiesta extra per prova, ma un captcha blocca ancora completamente i tentativi invece.
Se non vuoi disturbare i tuoi utenti con un captcha, puoi impostarlo in modo tale che quando viene utilizzata una password errata, l'account in questione richiederà un captcha. Questo è sia per i bruteforcers, sia per avvisare il titolare del conto originale, che qualcuno potrebbe provare ad accedere al suo account. Per evitare che un bot possa capire quali account esistono o meno, archivia questo flag anche per gli account non esistenti.
I token CSRF non sono intesi come protezione contro i bot. Sono intesi solo come protezione contro gli attacchi CSRF. È solo un caso che alcuni robot non gestiscano correttamente i token CSRF, ma molti lo fanno. Se sei preoccupato per i robot, allora dovresti comunque usare un CAPTCHA; la presenza di token CSRF non dovrebbe influenzare la tua decisione in merito.
Leggi altre domande sui tag authentication captcha token