di: Andrea Cristaudo 20 Aprile 2006
Da quando Internet ha iniziato ad essere uno strumento di comunicazione a livello globale la sua storia è sempre stata accompagnata dallo spam. Le motivazioni sono molto semplici: spedire un messaggio pubblicitario su Internet (attraverso mail, usenet, web) è estremamente più economico che non farlo in forma cartacea. La stessa mail di spam può essere destinata a migliaia di indirizzi contemporaneamente impiegando pochi minuti e poche risorse e lo stesso è possibile con messaggi sui newsgroup. Il lavoro di uno spammer è reso ancora più facile dal fatto che non deve neppure fare lo sforzo di inserire personalmente il messaggio in un programma di posta elettronica o su un newsgroup o su un blog: esistono gli spambot. Questi sono programmi simili nel funzionamento agli spider dei motori di ricerca che scandagliano la rete indirizzo per indirizzo alla ricerca di un’informazione utile, di uno spazio aperto attraverso il quale inviare il proprio spam.
Attualmente si possono riconoscere tre diversi tipi di spambot secondo il loro obiettivo:
Uno spambot che si mette alla ricerca di indirizzi email da aggiungere a proprie liste cerca di sopperire alle mancanze di un equivalente dell’elenco telefonico. Il funzionamento di uno spambot del genere è molto elementare – ed infatti appartengono a questo tipo i primi spambot che hanno infestato la rete – e svilupparne uno può richiedere meno di una giornata: essenzialmente si tratta di spider che, data una lista di url, scandagliano pagine web alla ricerca di
Gli indirizzi trovati sono quindi registrati e verificati tramite varie tecniche applicate all’invio del messaggio pubblicitario non richiesto come ad esempio l’inserimento di un tag “img” in un’email in formato html che invece di richiamare un’immagine richiami uno script con parametri identificativi: in questo modo è possibile sapere chi ha visionato un determinato messaggio email e quindi chi, presumibilmente, ne aprirà altri. A tal proposito molti client di posta permettono di bloccare la visualizzazione di immagini remote e abilitano tale configurazione di default.
Un’altra tecnica per verificare un indirizzario consiste nell’inserire una possibilità per non ricevere più questi messaggi non richiesti. Seguire questa strada nella maggior parte dei casi porta semplicemente ad essere riconosciuti come indirizzi email validi e quindi a non liberarsi più dello spam. Spesso e volentieri inoltre queste liste di indirizzi controllati vengono vendute. Diventa quindi di importanza vitale mascherare gli indirizzi email pubblicati in modo che siano fruibili da un visitatore reale e non da uno spambot.
La soluzione più semplice in questo caso resta la modifica dell’indirizzo email pubblicato senza un tag “a”. Tale tecnica è applicabile anche ai documenti non in formato html come file di testo o documenti pdf ed è riscontrabile sul web già dai primi accessi ai newsgroup.
Si può modificare l’indirizzo email seguendo due strade diverse:
Benchè l’applicazione di queste soluzioni in php sia molto semplice esse non sono più molto efficaci: gli spambot in quindici anni si sono attrezzati e sono in grado a volte di risalire agli indirizzi reali. Inoltre queste soluzioni necessitano o di un livello cognitivo e di attenzione abbastanza alti da parte del visitatore per riconoscere le convenzioni implicitamente applicate, oppure di un chiaro messaggio all’utente che non è sempre possibile fornire. Di contro questa è l’unica soluzione che garantisce l’accessibilità al sistema ad individui costretti ad utilizzare lettori vocali o browser senza supporto javascript.
Infatti esistono alternative con una resa visuale migliore che necessitano però di tecnologie che non garantiscono l’accessibilità. Una di queste consiste nel fornire l’indirizzo email in maniera alternativa al testo con un’immagine o un filmato flash. Fortunatamente il php è in grado con le estensioni gd e ming di creare dinamicamente questo genere di contenuti permettendoci così di rendere questi passaggi più semplici.
È possibile ad esempio passare un intero testo ad una funzione perché questa sostituisca tutti gli indirizzi email con tag “img” che richiamino script php ad hoc con parametri identificati. E’ necessario usare l’accortezza di specificare tale parametro perché non contenga esplicitamente l’indirizzo email per non rendere vana tutta la tecnica. Ad esempio è possibile passare l’indirizzo email codificato con la funzione mycrypt_encrypt() e decodificarlo con la funzione mycrypt_decrypt() oppure utilizzare soluzioni più semplici come la “codifica” di Cesare (traslare tutti i caratteri avanti o indietro di un certo numero di posizioni per ad esempio per far diventare HAL la stringa IBM). In questo modo però saremo riusciti a visualizzare l’indirizzo email ma non a renderlo “cliccabile”.
Per fornire questa funzionalità aggiuntiva possiamo sfruttare le potenzialità dei browser di riconoscere stringhe espresse in formato esadecimale oppure qualche riga di codice javascript.
<?php
$mail = "chris@html.it";
$mail_js = "document.write('<a href=\"mailto:" . $mail .
"\">" . $mail . "</a>')";
$mail_encrypted = "";
for( $i = 0; $i < strlen($mail_js); $i++ )
$mail_encrypted .= "%" .
dechex(ord($mail_js{$i}));
echo "<script type=\"text/javascript\">eval(unescape('" .
$mail_encrypted . "'));</script>";
?>
Il metodo più sicuro per affrontare il problema del “grabbing” di indirizzi email rimane la sostituzione degli stessi con formmail magari generati dinamicamente. I problemi di questa soluzione sono però la scarsa usabilità – dato che l’utente si aspetta che cliccando su un indirizzo email si apra il suo programma di posta elettronica – e la privazione dell’utente del diritto di scegliere in che modo inviare il proprio messaggio. Inoltre anche le formmail presentano dei problemi non indifferenti dal punto di vista dello spam.
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Guida PHP con Windows e IISInstallare ambienti per lo sviluppo e la produzione di applicazioni... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso Google AdWords Base27 Febbraio 2012 a Milano |
|
|
Corso Google AdWords Base28 Marzo 2012 a Roma |