Protezione dallo Spam: nuovo plugin matematico
Ultimamente il plugin matematico anti-spam Did You Pass Math iniziava a creare qualche problema: molti, infatti, si erano lamentati che sbagliava a fare le somme (a volte anche con lo 0). Ho dato un’occhiata al codice ma apparentemente non era errato e quando lo provavo io, per la solita legge di Murphy, funzionava sempre. L’unico dubbio era il fatto che siccome si appoggiava ai cookie di sistema per recuperare la somma, forse il problema poteva risiedere in una non perfetta compatibilità (documentata o non) tra browser e release di browser diversi. Certo questo era un plugin molto comodo in quanto bastava attivarlo e se si usava un browser standard di tipo K2 funzionava egregiamente (per i più esperti esistono solo due variabili da settare per l’uso dei cookie e di un template di tipo k2).
Ho trovato, quindi, un nuovo plugin per Wordpress per un antispam matematico: Math Comment Spam Protection Plugin. Ma che differenza c’è con Did You Pass Math? Innanzitutto il codice è completamente diverso e non è solo una semplice riedizione; inoltre è presente una comoda area di amministrazione del plugin antispam raggiungibile da Opzioni->Math Comment Spam: qui è possibile personalizzare (e localizzare in italiano) i messaggi di errore e il tipo di operandi da utilizzare nella visualizzazione della somma come:
– 1~1, 2~2, 3~3, 4~4, 5~5, 6~6, 7~7, 8~8, 9~9, 10~10 (per avere una domanda tipo: quanto fa 5 + 7?)
– 1~uno, 2~due, 3~tre, 4~quattro, 5~cinque, 6~sei, 7~sette, 8~otto, 9~nove, 10~dieci (per avere una domanda tipo: quanto fa cinque + sette?. Attenzione questo genere di domanda può far venire dei dubbi su come scrivere la risposta. Attualmente il plugin supporta solo una risposta numerica ma nulla vieta di implementare un hack per accettare anche risposte testuali)
Il vantaggio è che si può scegliere fino a che cifra si può fare la somma (non è detto che si voglia per forza fare la somma di numero fino a 10) a scapito, però, della immediatezza della somma.
Però mentre Did You Pass Math funziona da subito con una semplice attivazione del plugin ma SOLO per temi standard (come K2), Math Comment Spam Protection Plugin funziona su TUTTI i temi ma per contro, dopo l’attivazione, richiede una modifica del file comments.php del proprio template.
Ovviamente la modifica manuale dei file permette, al contempo, di posizionare il proprio codice anti-spam ovunque si voglia!
Inoltre questo plugin non necessita che il browser dell’utente abbia i cookies abilitati. Infine, c’è un altro aspetto da non sottovalutare: se con Did You Pass Math si sbagliava la somma, siccome veniva ricaricata la pagina, si perdeva il contenuto del commento anche se si tornava indietro di una pagina (anche se sul mio sito, avendo i commenti in ajax non veniva ricaricata mai una nuova pagina e quindi i commenti non si perdevano). Con Math Comment Spam Protection Plugin questo non accade.
Il bello è che sul sito ufficiale si avverte, in tutta onestà:
Any ways: if you are afraid of modifying the source code of your theme, I recommend that you go for the Did You Pass Math? plugin.
ATTENZIONE: la prima volta che si attiva il plugin e si carica una pagina con i commenti potrebbe venire fuori questo messaggio di errore:
Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in /wp-content/plugins/math-comment-spam-protection.php on line 65
Per risolvere il problema basterà andare nell’area di amministrazione del proprio sito, Opzioni->Math Comment Spam e cliccare sul pulsante “Aggiorna opzioni”. Dopodicché l’errore non sarà più visualizzato.
UPDATE: Mi sono accorto che, a differenza di prima, ora il codice antispam viene chiesto anche all’amministratore del sito. Ho quindi provveduto a modificare il codice che bisogna inserire nel file comments.php del proprio template, inserendo il controllo se l’utente loggato è ‘admin’ (riporto solo il codice iniziale che ho modificato):
<?php get_currentuserinfo(); if ( $user_login != 'admin' && function_exists('math_comment_spam_protection') ) { [...]
NOTA: Ringrazio tutti coloro che mi hanno segnalato i problemi con il vecchio plugin e se volete provare il nuovo… commentate pure senza tregua questo articolo






Io sto sviluppando un plugin simile a questo nel funzionamento, ma basicamente meno invasivo: Prima di tutto, infatti, il commento viene passato ad Akismet.
Se Akismet lo segnala come spam (anche se magari non lo era affatto, Akismet non è infallibile!) all’utente appare una domanda matematica del genere, che se risolta correttamente può bypassare il filtro di Ak.
Anche il mio fa delle somme del tipo cinque sette, e una funzionalità sarà quella di fargli accettare risposte solo letterali (“dodici”)…
9 gennaio 2007 alle 13:43 | Rispondi a Andrea Micheloni
Penso che attivando Akismet e cambiando nome (e riferimento) a wp-comments-post.php si riduce di mooooooltissimo lo spam.
Carino il plug-in peccato che se preso di mira…è facilmente oltrepassabile (molto più di un captcha, che però rompe di più a compilarlo da utente normale).
PS: E’ la prima volta che posto un commento qui..e vedendo sotto la protezione anti spam mi sono chiesto “ma dovrò dire il risultato in cifre o lettere? cioè 9 o nove?” magari accetta tutti e due…nn so ora provo
9 gennaio 2007 alle 13:49 | Rispondi a Daniele Simonin
anche a me una volta mi ha detto di fare “7 3″ che se non erro fa 10, ma non accettava il risultato. Vediamo come funziona questo anti-spam
9 gennaio 2007 alle 13:50 | Rispondi a Il Fornaio
non mi accetta il segno “più”, avevo scritto “7 più 3″ in forma matematica. Un’osservazione, non cambia la somma da fare questo plugin: nel commento di prima dovevo fare tre sette ed anche adesso
9 gennaio 2007 alle 13:51 | Rispondi a Il Fornaio
@Fornaio: Scusa non ho capito bene l’ultimo commento…
9 gennaio 2007 alle 14:17 | Rispondi a Antonio Troise
Grande Andrea: appena l’hai finito mi offro volontario per testarlo
In effetti supponevo che scrivere la domanda con i numeri in maniera letterale facesse venire qualche dubbio: ora lo rimetto in maniera da visualizzare la semplice somma tra numeri.
9 gennaio 2007 alle 14:42 | Rispondi a Antonio Troise
Odio tutti i generi di captha e simili.. viva akismet e basta!
9 gennaio 2007 alle 15:08 | Rispondi a thisend
Mi sono accorto che, a differenza di prima, ora il codice antispam viene chiesto anche all’amministratore del sito. Ho quindi provveduto a modificare il codice che bisogna inserire nel file comment.php del proprio template, inserendo il controllo se l’utente loggato è ‘admin’ (nell’articolo ho riportato solo il codice iniziale che ho modificato):
9 gennaio 2007 alle 15:11 | Rispondi a Antonio Troise
@thisend: lo so ma akismet, perlomeno a me, non è perfetto e vorrei essere sicuro che quando non controllo il sito, non venga saturato da commenti di spam! Adesso sto iniziando una guerra contro lo spam di trackback: akismet li gestisce bene ma siccome me ne arrivano un centinaio al giorno e non mi va di scorrermeli tutti alla ricerca del commento bannato per sbaglio, sto cercando un alternativa. Adesso ne sto provando uno…se va farò una piccola recensione.
9 gennaio 2007 alle 15:13 | Rispondi a Antonio Troise
@Daniele Simonin: Ho provato già questa tecnica: ho rinominato i file wp-comments-post.php e wp-trackback.php con nomi casuali; quindi ho sostituito nel mio template il riferimento al wp-comments-post.php nel file comments.php, e il riferimento al wp-trackback.php nei file wp-includes/comment-functions.php e in wp-includes/template-loader.php, ma il risultato è stato che (sarà anche stata una coincidenza) ricevo più spam di prima sui trackback e sui commenti!
9 gennaio 2007 alle 15:17 | Rispondi a Antonio Troise
nel primo dei due commenti ho scritto “7 3″, tra il 7 ed il 3 ci deve essere il segno “più” che non viene accettato. Inoltre, come somma da fare per il secondo commento avevo la stessa somma del primo ed anche risolta (avevo la casella di riempimento già completata con il risultato). Non so se mi son spiegato bene
9 gennaio 2007 alle 15:38 | Rispondi a Il Fornaio
@Il Fornaio: Capito! Hai ragione: il più non viene preso! Strano ma penso dipenda da un controllo di wordpress per evitare che vengano scritti comandi invasivi.
Per la somma dell’antispam potrebbe essere un caso che siano venuti gli stessi numeri (ce ne sono solo 10). Fino ad ora ho solo ottenuto valori diversi
9 gennaio 2007 alle 15:56 | Rispondi a Antonio
Capisco! A quanto pare allora sono l’unico ad aver ottenuto lo stesso valore per due volte di fila
9 gennaio 2007 alle 16:09 | Rispondi a Il Fornaio
Giocare al lotto no eh?
9 gennaio 2007 alle 16:30 | Rispondi a Antonio Troise
@Antonio: se lo vuoi provare.. ben venuto: è ancora in fase di perfezionamento, in realtà, ma il suo funzionamento è semplicissimo.
E un vantaggio immediato è che la lista di moderazione di Akismet si riduce ai soli trackback e pingback (ovviamente non chiedo una somma ad un computer), che sono relativamente pochi rispetto ai commenti normali…
9 gennaio 2007 alle 20:13 | Rispondi a Andrea Micheloni
@Andrea Micheloni: lo proverò volentieri…
peccato che la mia lista di spam trackback e pingback è molto ma molto lunga! sigh
9 gennaio 2007 alle 21:15 | Rispondi a Antonio Troise
Per i ping/trackback non c’è molto da fare, dato che sono fatti comunque da un bot… potrebbe esserci la verifica, se nell’URL riportata c’è davvero un backlink, ma gli spammers riescono a evitare anche questo ostacolo
10 gennaio 2007 alle 13:15 | Rispondi a Andrea Micheloni
[...] Qualche giorno fa scrissi del nuovo plugin Wordpress che ho installato per implementare un sistema di anti-spam captcha di tipo matematico. Oggi voglio parlarvi di un altro plugin, dello stesso autore del precedente, nato con lo scopo di combattere lo spam dei trackback, spam che (insieme ai pingback) bypassa qualsiasi sistema di captcha poiché, visto che sono automatici, non si possono fare domande aritmetiche e domande di riconoscimento testi ad un computer. E’ vero che Akismet funziona egregiamente (a volte anche troppo bannando anche utenti normali) e rileva, senza troppi problemi, un messaggio di trackback di spam, ma il problema è che ricevendo centinaia di messaggi di spam al giorno, risulta noioso andarsi a guardare pagine e pagine di spam. Ecco perché mi sono rivolto a Simple Trackback Validation Plugin. Ho fatto un test di un paio di giorni: su 252 messaggi di spam, 223 trackback sono segnati come spam (per ora li ho lasciati in moderazione ma poi li eliminerò direttamente), e 29 sono lasciati passare ma vengono comunque bloccati da Akismet: forse questi sono pingback. Chi sa come distinguere i due tipi di notifiche su Wordpress? [...]
15 gennaio 2007 alle 10:30
Con qualche regola .htaccess (solo 2 righe) ho ridotto lo spam del 60% sfruttando il fatto che il referer di wp-comments-spam.php deve essere il dominio stesso.
http://read.melodycode.com/new.....press.html
non prendete questo commento come spam
PS: Ogni mattina mi svegliavo e dovevo cancellare circa 60 commenti dalla coda di Akismet, mentre ora ’solo’ 20.
20 gennaio 2007 alle 10:48 | Rispondi a Daniele Simonin
@Daniele: Grazie del suggerimento!
20 gennaio 2007 alle 11:37 | Rispondi a Antonio Troise
Ho installato anch’io questo ottimo plugin sul mio sito ma mi chiedo una cosa: per quanto tempo resisterà? Siccome tutte le possibili somme fra due numeri da 1 a 10 sono 11^2 = 121 ma in realtà i possibili risultati sono solo 19 (da 1 più 1 = 2 a 10 più 10 = 20), basterà che lo spammer preveda di sparare un risultato a caso e incrementare di 19 volte la quantità di messaggi indesiderati. Ed ecco che si ritornerà alla situazione precedente, come se il plugin non ci fosse. La soluzione? Permettere somme con numeri da 1 a 100 permetterebbe di elevare questo limite da 19 a 199 incrementando in fondo di poco la difficoltà di calcolo.
24 febbraio 2007 alle 01:28 | Rispondi a Davide
[...] lo spam insieme all’ormai celebre Akismet. Come ho scritto in un commento sul blog di Antonio mi chiedo una cosa: per quanto tempo resisterà questo sistema? Siccome tutte le possibili somme [...]
24 febbraio 2007 alle 01:47
[...] questo motivo ho deciso di utilizzare il sistema proposto da Levysoft: math comment spam protection [...]
1 aprile 2007 alle 01:00
[...] mese fa, stanco di aver un captcha grafico poco accessibile (anche a detta del W3C), ho introdotto nell’area commenti del mio blog, un captcha matematico, in grado di reggere le ondate di spam [...]
2 agosto 2007 alle 10:00
[...] aver introdotto nei commenti il captcha matematico e aver inserito una facility per lo user-uman, ho pensato di dare un tocco grafico al campo [...]
14 agosto 2007 alle 10:11