BigThink

WordPress: Dare agli spammer la possibilità di redimersi

Black List

Si conclude oggi la miniserie di Camu: dopo aver visto come va modificato l’.htaccess e come farlo in automatico, oggi impariamo a personalizzare la pagina di errore.

Dai commenti sul mio blog alla prima puntata di questa miniserie è venuta fuori un’interessante discussione su cosa “vedono” gli spammer presenti nella lista nera quando tentano di accedere nuovamente al sito.

Se lasciamo tutto come abbiamo visto finora, il server web restituirà il laconico messaggio 403 Forbidden (accesso negato) preimpostato in Apache. Il che può essere perfetto se davvero colui che bussa alla porta non merita neppure un bit di banda sprecata per le sue richieste, ma diventa un deterrente per gli innocenti erroneamente finiti nella rete di Akismet.

A questi ultimi, giustamente, bisogna per lo meno fornire uno straccio di indirizzo email al quale potranno contattare l’autore del blog per chiedergli di essere rimossi dalla lista dei cattivi.

La cosa non è affatto semplice:

  • Offrire un indirizzo email “in chiaro” è come dare miele alle api: gli spambot lo troverebbero subito, iniziando ad usarlo per mandarci le solite email su come far allungare le parti intime di noi maschietti, o su come guadagnare 3000 euro al mese lavorando per azienda multinazionale di casa.
  • Aggiungere un modulo di contatto annullerebbe tutti i benefici di questa soluzione, in quanto richiederebbe di mettere in moto gli ingranaggi di WordPress per generare la pagina e spedire la mail, senza contare che sarebbe ancora una volta presa di mira dai bot.
  • Scrivere l’indirizzo in una immagine, che non può essere letta da questi bot, e che quindi non viene indicizzata per spam, non è una soluzione accessibile ai non vedenti.
  • Lasciare recapiti alternativi, come numero di telefono, screenname di Skype o GTalk, è poco conveniente (te l’immagini un visitator che deve telefonarti per farsi rimuovere dalla lista nera?) e poi anche questi sistemi di chat iniziano ad essere infestati da spammer, quindi molti consentono di essere contattati solo dalle persone che hanno nella lista di amici

Alla fine ho optato per una delle soluzioni più diffuse: Javascript. Che è più accessibile rispetto all’immagine statica, semplicemente per il fatto che sistemi vocali come Jaws sono oramai in grado di eseguire codice Javascript senza problemi.

I più fantasiosi (come m’è capitato di vedere su un sito) inseriscono nientepopodimeno che un breve audio (con tanto di player in Flash) in cui dettano l’indirizzo email a cui scrivere, ma io sconsiglio di spingersi fino a tanto.

Vediamo allora come è possibile personalizzare la pagina che Apache serve al visitatore in caso di accesso negato. Ancora una volta ci viene in aiuto il file .htaccess, al quale dovremo aggiungere la seguente direttiva:

ErrorDocument 403 /errors/403.html

Il percorso in cui salvare questo file sul server è relativo alla cartella principale (nota anche come root) del sito, e può essere definito in maniera arbitraria. Personalmente consiglio di riunire tutte queste pagine speciali dentro la cartella errors, giusto per averli sempre a portata di mano.

Nello specifico, il file 403.html lo puoi creare a partire da un qualsiasi singolo post del tuo blog: salva sul tuo computer locale la pagina, e modificala aggiungendo un breve messaggio in cui spieghi l’accaduto, tipo:

Caro visitatore, la risorsa che stai tentando di accedere su questo blog è stata bloccata per il tuo indirizzo IP. Potrebbe trattarsi di un problema temporaneo, ma è più probabile che il sistema di controllo antispam del mio sito ti abbia aggiunto alla lista dei sospetti. T’invito a riprovare più tardi: se il problema dovesse persistere, puoi contattarmi all’indirizzo email (segue il tuo indirizzo).

Ovviamente puoi scatenare la fantasia e la creatività nell’inventarti un messaggio spiritoso con cui consolare i visitatori a cui viene (ingiustamente) sbattuta la porta in faccia.

Come ho detto prima, in realtà l’indirizzo email verrà stampato non in chiaro, ma da un codice Javascript, quasi sempre ignorato da quei manigoldi degli spambot. Esistono miliardi di possibilità già confezionate (basta cercare email javascript su Google, o parole simili) ed io te ne propongo una.

Supponiamo che l’indirizzo sia aiuto@ilmiositoprotetto.it, e che il tuo blog sia www.ilmiositoprotetto.it. Nel codice sorgente della tua pagina HTML, sostituisci l’indirizzo email in chiaro con:

<script type="text/javascript">
    document.write('aiuto');
    document.write(String.fromCharCode(20+44));
    document.write(' '+location.hostname.replace('www.',''));
</script>
<noscript>(attiva javascript per vedere l'indirizzo)</noscript>

La chiocciola è nascosta usando il corrispondente codice ASCII (a sua volta ottenuto dalla somma di due numeri), ed il dominio viene desunto dalla URL che l’utente ha richiesto, di fatto rendendo “portabile” questo script su vari siti. Ti basterà cambiare soltanto il nome della casella email a cui farsi contattare (la parte “aiuto” dell’indirizzo).

Una soluzione analoga può essere adottata nel caso di errore 404 (pagina non trovata o indirizzo inesistente) e di errore 500 (problema generico sul server), per far sentire il malcapitato visitatore un po’ meno abbandonato a se stesso.


Autore: Camu di DueChiacchiere

Leggi anche...

Ottimizzare WordPress per i motori di ricerca, senza plugin

Ottimizzare WordPress per i motori di ricerca, senza plugin

Uno dei plugin che la maggior parte dei blog usa per l'ottimizzazione delle pagine sui motori di ricerca è il famoso All in One SEO Pack. Sicuramente un ottimo plugin, nulla da dire, ma se vi trovaste nella situazione di dover alleggerire il vostro sito in quanto utilizza troppa RAM e CPU, dovreste iniziare ...
WordPress: trovare la categoria corrente e quella padre

WordPress: trovare la categoria corrente e quella padre

Chi è solito creare template per WordPress o chi si è trovato a dover modificare il proprio avrà notato che le funzioni che abbiamo a disposizione per lavorare con le categorie di WordPress non sono poi molte. Spesso bisogna, infatti, andarsi a spulciare documentazione e sorgenti, per trovare il modo di fare quello ...
WordPress: escludere dalla home i post di una certa categoria

WordPress: escludere dalla home i post di una certa categoria

Qualche mese fa avevo scritto una pillola per WordPress che è stata piuttosto apprezzata: Come creare una sezione di post in Evidenza, nella quale spiegavo come creare una sezione a parte, con i post che si vogliono mettere in evidenza. Ieri, Teodoro Di Stasi mi ha domandato: Come potrei fare in modo che gli articoli ...
Impostare l'anteprima quando condividiamo un post su Facebook

Impostare l’anteprima quando condividiamo un post su Facebook

Quello che voglio condividere con voi oggi è un trucchetto facile, ma molto utile, che sicuramente pochi di voi conoscono ed utilizzano. Provate a condividere questo post su Facebook, pubblicandolo tramite la vostra bacheca oppure cliccando sull'icona di Facebook appena sotto l'articolo. Cosa notate? Vi si aprirà la finestra per condividerlo ma, a differenza ...
Dividere su due colonne le categorie di WordPress

Dividere su due colonne le categorie di WordPress

Con questo post inizia una nuova serie di guide per la creazione o personalizzazione dei template di WordPress, ambito in cui mi sono specializzato recentemente. Oggi vedremo come dividere l'elenco delle categorie del nostro blog, su due colonne di egual lunghezza. Può tornarci utile nel caso avessimo veramente tante categorie e, per una maggiore ...

Lascia un commento

3 Citazioni