
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:
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:
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




Lascia un commento