Un semplice antispam per phpBB
di - Mercoledì 16 Maggio 2007 alle 15:54Da 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:
phpBB\admin\admin_users.php
phpBB\includes\usercp_avatar.phpp
phpBB\includes\usercp_register.php
e rinominarle tutte, sostituendole con quella da voi scelta. Il risultato è assicurato!

Mi sembra un’ottima idea!
Io uso Invision 1.3, cosa dovrei modificare per ottenere lo stesso risultato?
Non li sopporto più tutti questi bot…
Grazie
di Fabio - 16 Maggio 2007 - 16:30
Non sono proprio convinto del risultato, non tutte le “armi per spammer” danno per noto il link o le variabili nel GET della registrazioni, molti le guardano dalle pagine precedenti, riuscendo quindi ad aggirare questo barbatrucco.
In realtà la cosa migliore è cambiare il captcha di Phpbb, quello standard e stradiffuso è ormai inutile, qualsiasi altro, anche uno fatto in casa è sicuramente preferibile.
di Dariosky - 16 Maggio 2007 - 22:10
file modificati: se funziona, quando passi da bergamo ti offro una cena
di naevus - 16 Maggio 2007 - 22:13
@Fabio: Non ho mai installato Invision, potresti però provare a modificare una di queste variabili inserite nel path di registrazione: http://host/?s=0&act=Reg&a.....mp;CODE=00
@Dariosky: in parte hai ragione, ma di certo questi tool non sempre sono così versatibili da adattarsi ad ogni personalizzazione di phpBB. Il cambio del Captcha significa inserire un MOD e ciò impatta molto sul sistema
@naevus: figurati, anzi mi interesserebbe sapere come ti trovi con questa semplice modifica
di Davide Denicolo - 17 Maggio 2007 - 14:06
da qualche giorno ho fatto le modifiche suggerite: funziona tutto perfettamente! grazie davvero
di naevus - 20 Maggio 2007 - 20:53
Nel mio forum phpbb c’è solo mode nel link, devo sempre trovare e modificare agreed?
Grazie per la risposta
di sonia - 21 Maggio 2007 - 23:25
da me il problema è un altro : anche nei forum dove è obbligatoria la registrazione , si spammer riescono a postare come guest.
Sapresti dirmi da cosa dipende?
di oronzo_canà - 22 Maggio 2007 - 10:05
@naevus: ottimo è stato un piacere.
@sonia: no, la pagina successiva contiene anche la variabile agreed, quindi è quella che andrà modificata.
@oronzo_canà: se riescono a postare come guest, semplicemente perchè hai definito ALL come diritti di POST; vai quindi nel menu Administration -> Permissions -> Scegli la sezione -> in “Simple Mode” seleziona Register; in questo modo solo gli utenti registrati potranno Rispondere ad un topic o inserirne ex-novo
di Davide Denicolo - 22 Maggio 2007 - 22:50
ora lo installo, ma sinceramente non credo porterà molti benefici… io sono addirittura arrivato a usare i campi del form di registrazione che si impostavano in maniera casuale, ma non sono bastati. o i bot sono fatti proprio a regola d’arte o i bot sono persone (io sono convinto della seconda)
di giomini - 26 Maggio 2007 - 14:13
Idea veramente geniale e semplice, complimenti….
di Izzyweb.it - 28 Maggio 2007 - 11:56
Ottima soluzione, l’ho appena adottata.. aspetto i risultati :) Ho circa 50 registrazioni al giorno.. :S
Ad ogni modo adesso sarebbe comodo trovare una soluzione per cancellare in un solo click tutti gli utenti inativvi. A causa della mole di spamm ho disattivato l’attivazione solo da parte degli utenti, attivando quella da parte dell’admin. Così che adesso mi trovo 2000 e passa utenti inattivi SPAMM come posso cancellarli in un solo click?
grazie
di Davide - 07 Luglio 2007 - 13:40
Sul forum di phpbb c’e’ un thread che spiega perche’ questa soluzione non puo’ funzionare alla lunga.
Una variante piu’ sofisticata assegna alla variabile agree un valore basato su un id unico e quindi varia ogni volta.
Dal canto mio ho fatto in modo che tutti i campi di registrazione (in fase di modifica profilo invece viene accettato tutto) venissero controllati in base a un elenco di parole spam come succede normalmente per il nome utente.
Funziona abbastanza bene.
In alternativa si puo’ impedire totalmente di inserire un indirizzo web in fase di registrazione e avvertire di questo comportamento nella pagina di registrazione (c’e’ una modifica gia’ confezionata sul forum di phpbb)
di Roberto - 11 Luglio 2007 - 13:22
Sto usando il sistema da una settimana e non si è iscritto nemmeno uno spammone. Prima se ne iscrivevano almeno 5 al giorno di cui un paio riuscivano anche a scrivere.
Grazie dell’idea!! A buon rendere!
Daniele
di Daniele - 11 Luglio 2007 - 21:08
umh, a meno che io non abbia sbagliato qualcosa…
ho provato questa soluzione. nel mio caso, non ha risolto il problema: tra ieri sera e stamattina, ho già 9spam.
comunque grazie lo stesso.
se hai qualche altra idea, io sono pronto a provarla. grazie ancora e ciao
di alessandro - 15 Luglio 2007 - 13:10
[…] Una semplice ma efficace modifica è questa. Sembrerebbe funzionare. […]
di » Spam forum?? - 28 Luglio 2007 - 12:37
Stavo diventando matto per cancellare tutti quei …… , grazie per le info per ora funziona molto bene
di Marco - 20 Agosto 2007 - 10:00
Funziona da dio!!
In un mese nemmeno un bot che si è registrato!!!
Che dire?
Grazie!!!
di Daniele - 24 Agosto 2007 - 22:37
Ho provato a mettere in pratica il mod da 10 min.
Ora aspetto e vediamo se anche sui forum phpBB che gestisco gli spammere avranno ancora la forza di registrarsi. Grazie per i consigli ;)
di KING_Hack - 08 Settembre 2007 - 12:47
Di niente. Diciamo che se alessandro ha continuato ad avere spam, c’è da precisare un’ altra cosa.
La patch realizzata da me si basa su un content in lingua italiano; probabilmente questa potrebbe non funzionare su phpbb in lingua inglese perchè i sistemi di ricerca potrebbero prelevare link associato alla stringa “I Agree to these terms and am over or exactly 13 years of age” e quindi vanificare l’ antispam…spero di aver reso l’idea
di Davide Denicolo - 08 Settembre 2007 - 21:13
Il sistema consigliato funziona benissimo….sono passato da 30/40 registrazioni di spammatori al giorno a 0…..in un paio di casi negli ultimi mesi si sono registrati ma lo hanno fatto manualmente….meglio di tutte le patch aggiunte ed aggiuntine che trovi in giro, semplice e veloce anche per chi non ha grande esperienza di programmazione…..Io ho abbinato questo sistema alla conferma di registrazione da parte dell’admin ed all’obbligo di essere registrati per rispondere o per scrivere messaggi….
grazie 1000 a Davide mi ha risolto un problemone in modo semplicissimo…
di fabio - 11 Settembre 2007 - 08:14
Ottimo antispam funziona alla grande………….
di Giacomo - 13 Ottobre 2007 - 14:13
Grande, la sto provando da ieri e per ora non sono stato né creati nuovi utenti né inseriti messaggi “strani”… semplice soluzione .. rapida
bravo
di Francesco - 19 Ottobre 2007 - 11:12
Volevo solo ringraziarti molto .. siamo impazziti per giorni per trovare un controllo CAPTCHA che funzionasse. Poi quello che funzionava non andava bene perchè neanche gli utenti riuscivano a capire le lettere .. figuriamoci.
Con le tue indicazioni, risolto in 10 minuti netti.
Grazie
di Davide - 23 Ottobre 2007 - 10:09
a saperlo prima!!!
l’altro giorno ho messo su un mio personale strumento antispam applicato al mio forum da 1100 iscritti circa.
ho iniziato a raccogliere i server email degli account spam. in un primo momento mi limitavo a cancellare gli spammer con una delete sul db per utenti che avessero come server uno di quelli riportati nella mia blacklist. poi ho scritto il mio mod impedendo la registrazione agli user con il server già registrato nella lista (che aggiorno continuamente). da ieri blocco anche tutti gli user con server cinesi e russi. stasera adotto anche il tuo sistema, e se passa ancora qualcuno… brucio tutto!!!
di miccolis - 24 Ottobre 2007 - 14:46
implementato adesso. ho citato la tua idea sul mio sito. grazie
di miccolis - 25 Ottobre 2007 - 01:00
Ho apportato le modifiche…per ora sembra funzionare…speriamo in bene…grazie
di simone - 07 Novembre 2007 - 23:09
Ho modificato come tu hai consigliato.
Speriamo bene, sei sicuro che la parola “agreed” sia da cambiare solo in quei tre files che hai citato e non in altro?
Ti ringrazio tantissimo per la tua guida.
di Flavia - 10 Novembre 2007 - 20:47
dopo esattamente un mese di apparente tranquillità, periodo nel quale pensavo di aver blindato il mio forum, ho trovato un nuovo utente spammer sulle mie pagine. è riuscito ad attraversare il mio mod come il tuo trick. com’è possibile?
di miccolis - 24 Novembre 2007 - 11:03
Siamo sicuri che si devono modificare solamente questi file?
di Biagio - 23 Gennaio 2008 - 08:32
ho apportato le modifiche pure io
speriamo bene intanto se volete trovare un modo per eliminare con un solo click migliaia di spammer già iscritti potete guardare anche quihttp://www.phpbb.com/community/viewtopic.php?t=298724
grazie delle dritte!!!
di andre - 30 Gennaio 2008 - 21:15
Ragazzi funziona. Punto.
Mi sembrava una cosa talmente banale da non poter risolvere il mio problema.
Il forum aveva una buona indicizzazione e ogni giorno eliminavo almeno 15 utenti. Che angoscia.
E’ da un mese che ho apportato queste modifiche (tempo totale 1 minuto) e ho eliminato tutto lo spam.
Un grazie allo staff mi sembrava doveroso.
Grazie,
Giuseppe
di Giuseppe - 13 Marzo 2008 - 09:19
Ho implementato con grande successo la modifica per un trimestre MA adesso probabilmente qualcosa è andato a ramengo ed i pornazzi fioccano ..
probabilmente sti maiali spammer si fanno un giro e sniffano anche a mano le variabili.
Adesso le ricambio e sto tranquillo per un altro trimestre .. ma questi proprio non sanno cosa fare ?!?!?
di Davide - 28 Marzo 2008 - 19:17
Ho provato ieri… sul forum avevamo 20/30 iscritti fasulli + 4/5 messaggi al giorno.
Pare funzionare alla grande.
So che non è il posto corretto ma ho cercato per mari e monti e non so dov’altro chiederlo: sapete se esiste un sistema simile anche per Joomla?? Il sito, fatto appunto con Joomla, mi da quasi lo stesso problema (per ora riescono solo ad iscriveri).
Grazie mille, mi avete fatto guadagnare 30′ al giorno (che non sono pochi).
di Enrico - 08 Aprile 2008 - 09:22
Sembra semplice e geniale come idea…..
Io già qualche mese fa, nel mio phpbb2 avevo aggiunto una mod veramente TOP: in pratica nel campo della registrazione, inserivo una semplice formula matematica (quanto fa: A+B*C ?) con le variabili che cambiavano ogni volta….risultato ottimo per qualche mese…ora però anche se in modo molto minore qualche bot riesce ancora a registrarsi….proverò anche con questo metodo…..
di Mancio82 - 09 Aprile 2008 - 15:23
idea geniale.. l’ho implementato solo ieri ma mi ha già risparmiato una decina di utenti fasulli..
semplice ed efficace soprattutto per persone che come me in php sono delle scarpe.. ^_^
grazie
di delsi - 15 Aprile 2008 - 10:57
io ho fatto tutto, però mi escono strani errori nella pagina register:
Warning: Cannot modify header information - headers already sent by (output started at D:\inetpub\webs\technomusicit\forum\includes\usercp_register.php:1) in D:\inetpub\webs\technomusicit\forum\includes\page_header.php on line 516
Warning: Cannot modify header information - headers already sent by (output started at D:\inetpub\webs\technomusicit\forum\includes\usercp_register.php:1) in D:\inetpub\webs\technomusicit\forum\includes\page_header.php on line 518
Warning: Cannot modify header information - headers already sent by (output started at D:\inetpub\webs\technomusicit\forum\includes\usercp_register.php:1) in D:\inetpub\webs\technomusicit\forum\includes\page_header.php on line 519
qualcuno sa come aiutarmi per risolverli?
Comunque le registrazioni funzionano e gli spammer sono spariti.
di carlo - 15 Luglio 2008 - 09:46
Grazie mille della dritta, ho provato diverse mod, ma dopo poco venivano scovate dai figli di bot.. questa invece oltre ad essere molto semplice sembra funzionare alla grande. Ho aspettato un paio di mesi per lasciare il commento.. ma ora non potevo non farlo visto che da 50 spammoni al giorno sono arrivato a 0 e finalmente ho potuto reinserire la registrazione automatica.
:-)
di Massi - 18 Dicembre 2008 - 16:12
Ciao, ho provato il tuo suggerimento modificando quei tre files che hai citato ed in effetti non si registrano piu’ gli spammer, ma mi e’ nato un problema.
Ora se
qualcuno vuole registrarsi sul serio mi da’ questo errore
” Sorry, but this username has already been taken. ” prima ancora che io possa inserire il nome di chi si vuole registrare. Mi sai aiutare per favore?
grazie Lorena
di lorena - 07 Marzo 2009 - 15:01