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
Non è sufficiente rinominare
wp_comments_post
? Ad esempiowp_w_levi_e_brogi.php
? 🙂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
Magari… sfortunatamente nel
target
del modulo per inviare i commenti, bisogna comunque scrivere il nome della pagina di destinazione che elabora i risultati, sia essawp_comments_post
o altro, e i bot che vanno a caccia di siti da infestare, cercano quella stringa, qualunque essa sia.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 dihtaccess
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è…Ho notato comunque, anch’io, un aumento drastico dello SPAM negli ultimi giorni.
Un nuovo attacco influenzale?
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
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…
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? 😉
Pixel: grazie per il suggerimento, ho ingrandito l’area dei commenti 🙂
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
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ò. Mantenendo magari la paginazione dei commenti…
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.
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.
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…
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 🙂