• Un semplice antispam per phpBB

    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!

    Se vuoi aggiornamenti su Un semplice antispam per phpBB inserisci la tua e-mail nel box qui sotto:


    Ho letto e acconsento l'informativa sulla privacy

    Si No

    Acconsento al trattamento dei dati personali di cui al punto 3 dell'informativa sulla privacy

    Si No

    Commenti

    1. Fabio dice:

      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

    2. Dariosky dice:

      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.

    3. naevus dice:

      file modificati: se funziona, quando passi da bergamo ti offro una cena

    4. @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&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

    5. naevus dice:

      da qualche giorno ho fatto le modifiche suggerite: funziona tutto perfettamente! grazie davvero

    6. sonia dice:

      Nel mio forum phpbb c’è solo mode nel link, devo sempre trovare e modificare agreed?

      Grazie per la risposta

    7. oronzo_canà dice:

      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?

    8. @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

    9. giomini dice:

      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)

    10. Izzyweb.it dice:

      Idea veramente geniale e semplice, complimenti….

    11. Davide dice:

      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

    12. Roberto dice:

      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)

    13. Daniele dice:

      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

    14. alessandro dice:

      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

    15. [...] Una semplice ma efficace modifica ?uesta. Sembrerebbe funzionare. [...]

    16. Marco dice:

      Stavo diventando matto per cancellare tutti quei …… , grazie per le info per ora funziona molto bene

    17. Daniele dice:

      Funziona da dio!!

      In un mese nemmeno un bot che si è registrato!!!

      Che dire?

      Grazie!!!

    18. KING_Hack dice:

      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 ;)

    19. 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

    20. fabio dice:

      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…

    21. Giacomo dice:

      Ottimo antispam funziona alla grande………….

    22. Francesco dice:

      Grande, la sto provando da ieri e per ora non sono stato né creati nuovi utenti né inseriti messaggi “strani”… semplice soluzione .. rapida

      bravo

    23. Davide dice:

      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

    24. miccolis dice:

      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!!!

    25. miccolis dice:

      implementato adesso. ho citato la tua idea sul mio sito. grazie

    26. simone dice:

      Ho apportato le modifiche…per ora sembra funzionare…speriamo in bene…grazie

    27. Flavia dice:

      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.

    28. miccolis dice:

      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?

    29. Biagio dice:

      Siamo sicuri che si devono modificare solamente questi file?

    30. andre dice:

      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!!!

    31. Giuseppe dice:

      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

    32. Davide dice:

      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 ?!?!?

    33. Enrico dice:

      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).

    34. Mancio82 dice:

      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…..

    35. delsi dice:

      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

    36. carlo dice:

      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:inetpubwebstechnomusicitforumincludesusercp_register.php:1) in D:inetpubwebstechnomusicitforumincludespage_header.php on line 516

      Warning: Cannot modify header information – headers already sent by (output started at D:inetpubwebstechnomusicitforumincludesusercp_register.php:1) in D:inetpubwebstechnomusicitforumincludespage_header.php on line 518

      Warning: Cannot modify header information – headers already sent by (output started at D:inetpubwebstechnomusicitforumincludesusercp_register.php:1) in D:inetpubwebstechnomusicitforumincludespage_header.php on line 519

      qualcuno sa come aiutarmi per risolverli?
      Comunque le registrazioni funzionano e gli spammer sono spariti.

    37. Massi dice:

      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.
      :-)

    38. lorena dice:

      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

    39. L]e[G dice:

      Io oltre che cambiare le variabili ho cambiato anche il captcha e messo nofollow a registrati e lista utenti … si sa mai cmq celebro le mie prime 26 ore senza spambot da 4 anni lol, GRAZIE

    40. Elistar dice:

      Dopo quasi un anno dall’aver modificato i tre file, sono tornati gli spam. Anche cambiando nuovamente l parola che avevo messo al posto di agree. Mannaggia.

    41. Luca dice:

      Con le versioni successive i file da modificare hanno nomi diversi (ucp_register.php – ucp_agreement.html) ma il concetto e lo stesso.
      E funziona. Almeno dopo due giorni di prova. Vedo gli spammer nelle statistiche ma non riescono a superare l’ostacolo.
      Comunque preferisco bannare anche tutti i range di ip degli spammer per non vederli neanche nelle statistiche. Il rischio di perdere utenti non esiste visto che vengono tutti da russia, altri paesi dell’est e dal lussenburgo.
      ciao

    42. Krista Legum dice:

      Great information :)

    Commenta

    Your email address will not be published. Required fields are marked *