Come prevenire lo spam durante la registrazione

Anche sul mio forum personale avevo questo problema di iscrizioni spam, ma si è notevolmente ridotto. Ora ricevo solo una o due, o al massimo (come oggi) cinque iscrizioni al giorno. Eliminare diligentemente gli account spam e aggiungerli alle liste di blocco sembra funzionare. Ho attivato l’opzione “Il personale deve approvare tutti i nuovi account utente prima che possano accedere al sito”, che inserisce i nuovi utenti nella comoda coda di revisione, così basta un attimo per smaltirli. Anche l’aggiunta di una domanda personalizzata aiuta a identificare gli spammer più evidenti.

Sul forum del lavoro utilizzo il plugin wp-discourse per WordPress e l’SSO, e ho un modulo di iscrizione molto lungo. In questo modo riceviamo raramente iscrizioni spam.

Il nuovo plugin di registrazione/accesso è una soluzione per prevenire lo spam?

Posso sapere come estrarre dati in quel modo?

Per curiosità, come possono superare il Captcha? come si può completare il processo di registrazione senza risolvere il Captcha?

Dovresti anche ricordare che in tal caso il tuo server di posta può finire in una blacklist se vengono distribuiti troppi spam di moduli.

Se il bot utilizza indirizzi reali per la registrazione, ciò può accadere molto rapidamente.
Ho risolto questo problema utilizzando un nginx esterno come proxy per la mia istanza docker di discourse e monitorando il file di log con fail2ban, ovvero:

/etc/fail2ban/filter.d/nginx-discourse.conf

[Definition]
failregex = ^<HOST>.*"GET /u/account-created HTTP/2.0" 200.*$

/etc/fail2ban/jail.d/defaults-debian.conf

[nginx-discourse]
enabled = true
port = http,https
filter = nginx-discourse
logpath = /var/log/nginx/your.discourse.access.log
bantime = 43200
findtime = 3600
maxretry = 3
banaction = ufw

Questo esempio significa che se qualcuno tenta 3 volte una registrazione entro un’ora dallo stesso IP, allora questo IP viene bloccato per 12 ore.
Regola questi valori per il tuo scopo e ambiente di sistema!

Ricevo continue registrazioni spam da bot verificati che utilizzano account Gmail (Gmail!) provenienti tutti dall’India. Anche alcuni altri domini, ma gli account Gmail sono sorprendenti.

Cosa è successo a Google.

Anche qui.
Se non pubblicano, sono innocui. I nuovi account degli utenti inattivi non sono visibili ai visitatori o agli utenti regolari, e i profili degli utenti non sono indicizzati; quindi questi account spam sono sostanzialmente invisibili a tutti tranne agli amministratori/moderatori, e saranno rimossi automaticamente dopo un po’ grazie al lavoro di pulizia periodico.

Anche se non possono pubblicare, fanno alcune cose casuali come ricerche,

o apparentemente tentano di hackerare il sistema di autenticazione:

Job exception: Net::SMTPAuthenticationError
(google_oauth2) Authentication failure! invalid_credentials: OAuth2::Error, invalid_grant: Bad Request { "error": "invalid_grant", "error_description": "Bad Request" }
(google_oauth2) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected