Quinto Stato chiude lo spazio dei commenti per spam

| No Comments

Come ho già detto in post precedenti, lo spam sta lentamente rovinando un terreno fertile e promettente quale è quello di Internet. La dimostrazione l'ho avuta quando mi sono collegato al sito di Quinto Stato per leggere gli ultimi interessanti articoli, le novità ed eventualmente commentarle.

Mi ha fatto arrabbiare e mi ha rammaricato la decisione di Quinto Stato di sospendere i commenti agli articoli per ragioni di spam.

Sul sito leggo: "... non siamo ancora riusciti a trovare un metodo efficace per evitare che gli spammer invadano lo spazio dei commenti con annunci sulle tecniche di allungamento del pene e delizie consimili, per cui siamo stati costretti a scelte drastiche che, verosimilmente, dureranno finché non cambieremo la piattaforma software del sito (quindi per settimane, se non per alcuni mesi)".

La cosa dimostra come lo spam, con la sua invadenza e inutilità, ci tolga spazi per discutere e manifestare il nostro pensiero liberamente. Ritengo quindi che lo spam vada contrastato con la massima decisione se si vuole mantenere vivo un canale di comunicazione utile a tutti.

Non sono tuttavia d'accordo con la decisione di chiudere i commenti ai visitatori del sito solo perchè non si è ancora trovato un metodo efficace per contrastare gli spammer. Anch'io sono vittima di spam sul mio sito, ma navigando qui e là ho trovato alcune soluzioni per contrastare efficacemente l'invadenza degli spammer e i loro robots.

Internet sa trovare e offrire gli anticorpi efficaci per contrastare virus, spammer e compagnia bella. Basta cercare e metterci un po' di impegno adottando le soluzioni più efficaci per evitare la chiusura di un canale di discussione importante.

Come ho spiegato in un post precedente esistono diverse soluzioni per bloccare lo spam dei messaggi. Ad esempio per quanto riguarda la piattaforma software di Movable Type, utilizzata da Quinto Stanto, ma anche da me e da tanti altri blogger, è possibile inserire la richiesta di una password formale da digitare in una apposita casella prima di inviare il proprio commento.

Come si fa?
Ti faccio vedere un esempio testato con Movable Type versione 2.65 che forse va bene anche con le versioni precedenti.

Basta aggiungere nei file di configurazione dei modelli di Movable Type: Individual Entry Archive, Lista dei Commenti, Anteprima dei Commenti e Errore dei Commenti, la seguente istruzione html:

<label for="password">Password: </label> <br />
<input tabindex="5" id="password" name="password" /><br /><br />

Tale istruzione andrebbe inserita prima delle seguenti istruzioni:
...
<input type="button" onclick="window.close()" value="&nbsp;Annulla&nbsp;" />
<input type="submit" name="preview" value="&nbsp;Anteprima&nbsp;" />
...

dove il nome della variabile password la puoi cambiare con un altro nome e informare il visitatore dalle pagine del tuo sito su qual è la password da inserire per inviare il messaggio.

Devi poi cercare il file Comments.pm all'interno delle cartelle in cui è installato Movable Type e aprirlo con un editor di testo come notepad. Cerchi le istruzioni Perl:

$comment->save;
$app->rebuild_indexes( Blog => $blog )
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));
$app->rebuild_entry( Entry => $entry )
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));

e all'inizio e alla fine di quel blocco di istruzioni inserisci le seguenti istruzioni Perl:

my $password=$q->param('password') or return $app->error("Errore. Inserisci parola chiave");
if ($password eq "miapassword")
{
....
precedente blocco di istruzioni
...
}
else
{
return $app->error("Errore. Chiave sbagliata");
}

Al posto di "miapassword" nel controllo IF inserisci la parola chiave di tua scelta.

Alla fine devi avere:

my $password=$q->param('password') or return $app->error("Errore. Inserisci parola chiave");
if ($password eq "miapassword")
{

$comment->save; ## salva il commento nel database
$app->rebuild_indexes( Blog => $blog ) ## ricostruisce i file indice aggiornando il numero totale dei commenti
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));
$app->rebuild_entry( Entry => $entry ) ## ricostruisce e pubblica il commento nell'intervento di riferimento
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));
}
else
{
return $app->error("Errore. Chiave sbagliata");
}

il simbolo # rappreseta un separatore di commento.

E' tutto. Una volta fatte le modifiche devi ricostruire e ripubblicare tutti i file per renderle effettive.
Prima di fare le modifiche ti consiglio di fare il backup o la copia dei file Comments.pm e dei file di modello citati. Se non sei un programmatore e non hai esperienza o comunque non te la senti di fare le modificare, lascia perdere.

Per rendere la soluzione più robusta, anzichè definire una password statica, sempre uguale per tutte le pagine, la puoi rendere dinamica collegandola per esempio all'indirizzo IP del mittente oppure all'entry_id dell'intervento di riferimento.

Se poi vuoi tagliare fuori anche tutti gli spammer umani non italiani (arabi, asiatici, russi, ecc. nella speranza che non conoscano l'italiano), anziché pubblicare la password e chiedere che venga inserita, puoi fare un indovinello o una domanda che solo un italiano vero può capire, comprendere e rispondere.

Ad esempio puoi chiedere: "inserisci il cognome del Presidente della Repubblica" oppure se temi che sia una domanda troppo difficile da rispondere, puoi chiedere: "inserisci in forma letterale il numero di gol che l'Italia ha fatto alla Germania nella finale mondiale del 1982". Se pensi che anche questa sia una domanda troppo banale allora puoi dire: "la password è 1234, inserisci la prima e l'ultima cifra della password". In questo caso chi vuole vedersi approvato il messaggio dovrà inserire 14.

E' chiaro che poi dovrai andare a modificare opportunamente il controllo IF nel file Comments.pm e dare alla variabile "miapassword" il giusto valore corrispondente alla risposta corretta. Ad esempio per l'ultimo caso dovresti inserire:

if ($password eq "14")
{
.... # pubblica il messaggio

Come vedi ci sono tante soluzioni. La decisione di Quinto Stato di chiudere lo spazio dei commenti ai visitatori mi pare esagerata e non mi trova d'accordo.

Leave a comment



Archives

Creative Commons License
This blog is licensed under a Creative Commons License.
Powered by Movable Type 4.35-en