due chiacchiere

Lo spam in… festa

Non molti giorni fa ho aggiornato alcune impostazioni di questo sito per limitare almeno in parte il flusso continuo di commenti spazzatura che stanno infestando la rete ed i blog in generale. Ma a quanto pare l’espediente si è rivelato insufficiente ad arginare l’ondata fastidiosa: la lista nera degli indirizzi da filtrare è praticamente illimitata, ed a nulla vale l’inserimento in quarantena di qualche mittente per alcuni giorni. Parafrasando un noto modo di dire, gli spammer pensano che “morto un IP, se ne fa un altro” e ci riescono. Allora servono rimedi più drastici.

Seguendo quanto riportato nella documentazione ufficiale di WordPress ho quindi messo mano al file .htaccess che il mio spazio web consente di utilizzare, aggiungendo una regola abbastanza stringente sull’invio dei commenti: se non hai premuto il pulsante “Invia commento” allora sei un farlocco e io ti blocco. Per far questo, in breve, si controlla che la pagina da cui proviene il commento sia appartenente al dominio duechiacchiere.it, e non ad altri. Ecco cosa dice la guida in proposito:

Quando un sistema automatico di spam arriva sul tuo sito, generalmente tenta di connettersi direttamente alla procedura che raccoglie i commenti (individuata come wp_comments_post.php nel sistema) e di solito non dichiara una pagina di provenienza (in gergo referrer). Questo consente di attivare un controllo raffinato direttamente sul server, senza arrivare all’elaborazione da parte di WordPress.

Per ulteriori dettagli su come mettere in pratica questa funzione, ti rimando alla pagina ufficiale, dove ti spiegano anche quali file manipolare e quali stringhe inserire. In questo contesto mi interessa solo capire se tale procedura funziona davvero: se hai difficoltà a lasciare un commento, avvisami con il modulo di contatto. Spero funzioni tutti!

Commenti

  1. Trapanator ha detto:

    Non è sufficiente rinominare wp_comments_post? Ad esempio wp_w_levi_e_brogi.php? 🙂

  2. Federico Neri ha detto:

    Direi che è un’ottima idea. L’avevo letta a suo tempo, ma ho preferito andare avanti a bloccare gli IP. In realtà, non blocco gli IP, ma blocco il dominio di provenienza, con questo script: http://tinyurl.com/2nbta5

  3. camu ha detto:

    Magari… sfortunatamente nel target del modulo per inviare i commenti, bisogna comunque scrivere il nome della pagina di destinazione che elabora i risultati, sia essa wp_comments_post o altro, e i bot che vanno a caccia di siti da infestare, cercano quella stringa, qualunque essa sia.

  4. camu ha detto:

    Ciao Federico, il tuo script effettivamente fa la stessa cosa che suggerivo io appunto a livello di htaccess in un intervento precedente. La soluzione che proponi può essere utile nel caso in cui la personalizzazione di htaccess non sia possibile per il proprio dominio. Rimane il fatto che i domini “cattivi” sono praticamente senza fine, e la lista tende ad allungarsi a dismisura. D’altro canto dopo due giorni di osservazione della nuova strategia che ho messo in atto, noto con un pizzico di amarezza che neppure questa ottiene i risultati sperati: lo spam è calato di circa il 20 per cento, io mi aspettavo almeno un crollo del 50! Vabbè…

  5. Federico Neri ha detto:

    Ho notato comunque, anch’io, un aumento drastico dello SPAM negli ultimi giorni.
    Un nuovo attacco influenzale?

  6. P|xeL ha detto:

    Personalmente utilizzo Trencaspammers + Bad Behaviour + Akismet e… non passa nulla. I primi due bloccano praticamente tutto, Akismet lavora per qualche post ogni paio di settimane, non di più. In più, evito di inzozzare il database con record che poi Akismet eliminerebbe.
    Ciao,
    P|xeL

  7. camu ha detto:

    Pixel, in effetti l’uso congiunto di più programmi consente di restringere notevolmente le maglie sui commenti inopportuni. Personalmente non uso i cosiddetti CAPTCHA perché li trovo ampiamente inaccessibili (penso ai non vedenti che volessero lasciarmi un commento), ed inoltre vorrei mettere in atto qualche tecnica per filtrare gli invii non desiderati prima che arrivino ad essere elaborati dal PHP, per diminuirne il carico di lavoro. La ricerca continua…

  8. P|xeL ha detto:

    Sul fattore accessibilità ti do ampiamente ragione, sarebbe bello realizzare un sistema di captcha video/audio come quello utilizzato da Google e Microsoft. Ovviamente, un captcha, in un blog in cui arrivano solamente spambot generici (e non attacchi mirati) è ottimo.
    Ciao,
    P|xeL

    PS: ma ingrandire un pizzico l’area per i commenti? 😉

  9. camu ha detto:

    Pixel: grazie per il suggerimento, ho ingrandito l’area dei commenti 🙂

  10. SKA ha detto:

    Ciao Camu, è da un po’ che leggo questo spazio : oltre ad essere bello è anche molto accogliente ed attento agli utenti 🙂
    Proprio in quest’ultima ottica, più che una critica è una domanda : perché utilizzi la lista dei commenti al contrario?
    Un saluto

  11. camu ha detto:

    Ciao ska, grazie per i complimenti, sono contento che ti piaccia questo spazio. La lista dei commenti al contrario in effetti è un espediente che ho inserito per migliorare la gestione della pagina del mio plugin, dove sono presenti un sacco di commenti. A dirla tutta da tempo vorrei attivare un forum, perché quella pagina è diventata insufficiente per l’esigenza che vuole soddisfare (richieste d’aiuto e supporto). La visualizzazione “capovolta” dal più recente commento in poi si attiva quando il numero dei commenti è maggiore di 8, ti basta confrontare infatti questa pagina con altri articoli che hanno meno commenti. Lo so, non è una cosa ideale dal punto di vista dell’accessibilità, lo riconosco. Ma appena avrò il forum per il plugin, la disattiver&ograve. Mantenendo magari la paginazione dei commenti…

  12. SKA ha detto:

    Grazie mille per la spiegazione, ma soprattutto per la segnalazione! Ho inserito quella parte di codice poco tempo fa e nella fretta mi sono dimenticato di passarlo sotto validazione. Mea culpa.
    Ora dovrebbe essere tutto a posto.

  13. Dapuzz ha detto:

    Occhio che
    1) un utente abbastanza paranoico, oltre a disattivare i cookie e cancellare periodicamente i file temporanei, usa anche un browser che nasconde il referrer per “non farsi tracciare”
    2) è estremamente semplice specificare un referer “fasullo”, non per altro esiste anche il Referer spam per chi usa avere le statistiche pubbliche.
    D’accordissimo con te che il captcha è molto poco usabile, ragion per cui ultimamente va di moda il controllo “aritmetico” con le 4 operazioni e numeri ad una cifra per non scoraggiare chi non sa contare.

  14. camu ha detto:

    Ciao Dapuzz, in effetti dopo qualche settimana di prova ho disattivato quel filtro sul referrer perché ho visto che tutti quelli che producono spazzatura, hanno attrezzato i loro marchingegni per inviare anche questo parametro, rendendo di fatto inutile ogni controllo. Interessante è l’idea del controllo aritmetico, ma io stavo cercando di filtrare le richieste prima che venissero elaborate dal php. La ricerca continua…

  15. Dapuzz ha detto:

    Ho per curiosità tracciato le visite di un certo ip 81.177.xx.xx da cui ultimamente stanno arrivando commenti di spam.
    Le statistiche lo rilevano come un utente russo con Opera 9 su Windows Xp passato dalla pagina del commento prima dell’invio. Assolutamente niente di diverso da un qualsiasi visitatore, è talmente impossibile distinguerlo che quasi quasi credo sia sul serio un utente reale 😀 E’ mai capitato a volte anche a te?
    Apache cosa potrebbe filtrare a questo punto? Sono ancora molto scettico sul fatto che si possano bloccare queste richieste prima che arrivino al php, ma se trovi qualche soluzione batti un colpo 🙂

Lascia un commento