Un semplice antispam per phpBB

di Davide Denicolo

scritto il

Da un paio di anni circa, mi occupo della gestione informatica di un forum musicale; ad oggi conta circa 1500 iscritti, un traffico mensile discreto e una piattaforma opensource phpBB in continuo aggiornamento.

Chiunque di voi ha, almeno una volta, gestito un Content Management System, potrà confermarmi che lo spam è uno dei problemi più fastidiosi che si può mai incontrare sulla propria strada. Esso, infatti, non solo risulta scomodo a tutti i partecipanti che si ritrovano post colmi di link “spazzatura”, ma il danno si ripercuote sull’immagine del sito stesso; qualora lo spider di un motore di ricerca incontrasse un tentativo fraudolento di Link Popularity, potrebbe inserire il sito nella propria blacklist, escludendolo da ogni ricerca nel proprio motore.

Nonostante avevo attivato la funzionalità di Capthing Control sulla registrazione degli utenti, notavo ogni giorno che decine di utenti con nick e url anomali venivano registrati al sito; armato di forza e coraggio ho iniziato ad indagare per combattere tale fenomeno.

Cercando sulla rete, ho incontrato Xrumer, un software commerciale nato per inserire contemporaneamente e in automatico messaggi su forum, guestbook e bulletin board, completo, tra le altre cose, di un analizzatore OCR; più che un software lo definirei un’arma per spammer.

Il cuore di questo applicativo è un database ricco di Url Pattern usati per scandire l’intera rete alla ricerca di forum vulnerabili.

L’idea che ho avuto, fu quella di modificare il default URL del forum con uno personalizzato, in maniera tale che eventuali tentativi di registrazione, risultassero vani.

Una volta riconosciuta la piattaforma, infatti, questi software tentano di registrarsi e nel caso del phpBB, passano come argomenti al file profile.php due variabili, agreed e mode come da esempio:
http://www.sito.com/phpBB/profile.php?mode=register&agreed=true

Basterà rinominare dunque la variabile agreed con un nome a vostro piacimento, per rendere immune il vostro forum da eventuali attacchi.

Per far ciò dovrete fare una ricerca della parola agreed all’interno dei seguenti file:
phpBBadminadmin_users.php
phpBBincludesusercp_avatar.phpp
phpBBincludesusercp_register.php

e rinominarle tutte, sostituendole con quella da voi scelta. Il risultato è assicurato!