phpbb3. Spambots. Iscrizioni fasulle bloccate

Salve, io ho risolto i miei problemi impostando bene il mio forum. Ho fatto così: pannello di controllo admin>Contromisure spambot>In questa pagina cercare "Plugin installati">Selezionare 'Q&A' e salvare.
Poi se vi serve ancora usate la procedura che segue:
Importante: questo metodo è stato testato sulla versione 3.0.9, 3.0.10 e 3.0.11. Però potrebbe funzionare anche su altre versioni. Prima di iniziare conservare una copia originale del file includes/ucp/ucp_register.php, nel caso che facciate qualche errore nel procedimento che segue. Qualche rato spammer potrà riuscire ad iscriversi, ma non ci saranno iscrizioni automatizzate da spambots.
Da quanto mi risulta da dichiarazioni di amministratori di forum phpbb3 e dalla mia diretta esperienza, il problema degli spambot non è stato risolto.
Dall'osservazione del comportamento degli spambot ho notato che essi le iscrizioni le fanno bypassando completamente capcha, recapthca e altre domande. Perciò capcha, recapthca e altre domande non risolvono niente.
Allora ho fatto una ricerca in rete sulla base di queste considerazione e quasi subito ho trovato un post di un informatico.
Il post e' in inglese. Per questo lo traduco per gli italiani e lo ritocco per rendere più facile l'esecuzione del tutto per l'amministratore del forum e per l'utente.
E' bene dirlo prima perchè è importante. Alla fine provate il tutto. Per provare il tutto fate il logout e iscrivetevi al forum con un altro username.
La procedura è questa:
Chi entra nella pagina di registrazione, dopo la modifica di cui vi parlerò, vede questa immagine:


Come si vede è stata inserita una domanda con risposta obbligatoria che deve essere esatta per proseguire. La domanda in questa caso è: "Scrivi comm14"

Ci sono due passi per realizzare il tutto:
1)Andare nel pannello di controllo amministrazione> Cliccare sulla tab "Utenti e gruppi">cliccare su "Campo personalizzato profilo". Cliccare sul pulsante "Crea nuovo campo". Scegliere "Singolo campo di testo". Come nelle seguente figura:
Vi apparirà la seguente schermata schermata



Qui dovete creare il Campo Profilo. Vedete che nelle casella c'è scritto "Numeri". Non usate "Numeri", ma scegliete "Singolo campo di testo". Quindi cliccate su "Crea Nuovo campo" e nella casella a sinistra scrivete il nome del campo che deve essere una parola unica, ad es campo_testo. Vi apparirà la videata


Qui dovete dare un nome al campo personalizzato. Nel nostro caso campo_testo. Attenzione: deve essere una parola unica. Poi dovete creare la domanda. E nell'area di testo sotto la domanda dare altre indicazioni all'utente. Quindi cliccate sulle caselle come indicato in figura e salvate.
Poi cliccate sul pulsante "Opzioni specifiche del profilo". Vi apparirà la videata:

Scrivete come è indicato in figura. Se il numero dei caratteri della risposta è molto grande aumentate i numeri.
Quindi cliccate sul pulsante "Opzioni specifiche della lingua" e nella videata che vedrete controllate che tutto sia come avevate già impostato. Quindi salvate.

2)Ora andate sul vostro forum in FTP> includes/ucp/ucp_register.php. Fate prima un backup della pagina. Poi trovate:
code:
// validate custom profile fields
$cp->submit_cp_field('register', $user->get_iso_lang_id(), $cp_data, $error);
if (!sizeof($error))
{
if ($data['new_password'] != $data['password_confirm'])
{
$error[] = $user->lang['NEW_PASSWORD_ERROR'];
if ($data['email'] != $data['email_confirm'])
{
$error[] = $user->lang['NEW_EMAIL_ERROR'];
}
}

Giusto sotto inserite (il codice che segue è stato migliorato: ora l'utente non deve tenere conto delle maiuscole/minuscole. Anche voi nel codice potete scrivere la risposta non tenendo conto delle mauiscole/minuscole: cioè ad esempio "comm14" o "Comm14". Va bene lo stesso.). I codice seguente si riferisce al caso che abbiate scelto come campo personalizzato: campo_testo.
code:
$stras=$_POST['pf_campo_testo'];
$stras = strtolower($stras);
if (!sizeof($error)) {
if (!isset($_POST['pf_campo_testo']) ||
$stras != strtolower('comm14')) {
$error[] = 'Risposta alla domanda antispam errata';
}
}

Potete anche cambiare la domanda, però dovete cambiare di conseguenza la risposta nella pagina includes/ucp/ucp_register.php. Potete usare anche numeri come risposta.
Fatto!
In pratica nel codice indicato sopra è stato inserito il prefisso pf_ davanti al nome del vostro campo personalizzato.
Siccome, come ho detto prima, non servono capctha e recaptcha contro gli spambots potete impostare il captcha più semplice per utenti veri, così per loro sarà più facile iscriversi. Andate nel pannello di amministrazione>Contromisure spambots>plugin intallati>e scegliete "Semplice immagine". Salvate. Il captcha che gli utenti veri vedranno è tipo questa, molto semplice da leggere:

Non avrete più iscrizioni fasulle da spambots. Testato con successo.
Per chiarimenti o eventuali problemi inserite un commento sotto questo post.

Avviso importantePer eliminare ogni problema con il file includes/ucp/ucp_register.php potete scaricare la copia funzionante da: http://galileo2007.altervista.org/downloads.htm. Scaricate il file zip ucp_register.zip. Apritelo e dentro troverete il file ucp_register.php. Caricate questo file via FTP sul vostro forum. Solo adattate la domanda e la risposta antispam a quelle che avete impostato nel vostro pannello di amministrazione.
Saluti

Nessun commento

Posta un commento