|
In un tutorial vedremo come proteggere l'indirizzo email dallo spam.
Quando un webmaster scrive sul sito indirizzi email spesso non usa alcuna forma di protezione, cioè si limita a scrivere codice del tipo:
mailto:info@sito.com
La scrittura dell'indirizzo email in chiaro come sopra semplifica la vita ai programmi spam, che cercano automanticamente codice
come quello scritto sopra e inviano il loro carico di "SPAM".
Per rendere più difficile la vita agli spammer si può camuffare l'indirizzo email utilizzando i caratteri ASCII.
Ad esempio, metterei una barriera ai programmi spam scrivendo nel sito web l'indirizzo sopra nel modo seguente:
<a href="mailto:i
nfo@sito.
;com">Contatti</a>
Di seguito vedremo come realizzare una funzione in PHP che riceva in ingresso l'email in chiaro e la trasformi in caratteri ASCII.
<?php
function ProteggiMail($s) {
$risultato = '';
$s = 'mailto:' . $s;
for ($i = 0; $i < strlen($s); $i++) {
$risultato .= '&#' . ord(substr($s, $i, 1)) .
';';
}
return $risultato;
}
echo '<a href="' .
protectMail('info@sito.com') .
'">Contatti</a>';
?>
Il codice mi sembra chiaro.
Con il ciclo for si prendono tutti i caratteri della stringa "mailto:info@sito.com" uno per volta e per ciascuno si determina il suo valore ASCII, utilizzando
la funzione ord.
La funzione ord prende un carattere in ingresso e restituisce il suo codice ASCII.
Il risultato sarà una mail scritta con i codici ASCII come quella indicata sopra.
Risorse utili:
esempi di codice con substr
Tabella dei caratteri ASCII
Descrizione della funzione ORD
Descrizione della funzione CHR
|