Como vem sendo habitual o spam aproveita os endereços de e-mail que se publicam nas páginas web para introduzi-los em seus bancos de dados e posteriormente utilizá-los para o envio massivo de e-mails publicitários.
Neste artigo aprenderemos outras duas formas mais simples, porém igualmente efetivas.
Antes de começar, seria bom comentar que neste truque decidimos não fazer o link ao endereço de e-mail, porque se alguma pessoa lê um endereço de e-mail em uma página e deseja escrever, realmente só necessita copiar o endereço em seu programa de correio e este não é um trabalho muito complicado ou incômodo.
Uma primeira idéia, seria tão simples como colocar o endereço de e-mail e substituir o @ pela palavra arroba. Deste modo todo mundo entenderá perfeitamente o endereço e os spambots não poderão capturar o endereço.
Um exemplo seria o seguinte:
nome[arroba]oquefor.com
A partir desta idéia, podemos complicar tanto como desejarmos o texto, para que seja ainda mais difícil de capturar. Por exemplo, escrevendo os endereços de e-mail como:
nome [@] oquefor.com
nome [@nospam] oquefor.com
nome [coloque um arroba aqui] oquefor.com
A segunda técnica é um pouco mais complexa, porém muito efetiva e mais adequada desde o ponto de vista do desenho da página e a usabilidade da página. Está baseada também em utilizar imagens para ocultar os endereços.
Se em uma página temos que substituir um único correio por uma imagem e se este for sempre o mesmo, não custa trabalho criar uma imagem com um e-mail e colocá-la na página no lugar do texto. Porém, se tivermos que fazer listagens com dezenas ou centenas de imagens distintas, não vamos criar uma imagem por cada endereço que for se incorporando à listagem.
A idéia é substituir mediante PHP o @ por uma imagem da mesma, de tal forma que se o spambots lê o texto onde está o endereço, não o reconhecerá como tal, porque será algo como isto:
nome<img src="arroba.gif">oquefor.com
Para fazer isto com PHP utilizaremos uma função chamada str_replace(), que tem por objeto substituir uma cadeia por outra dada.
A sintaxe da função é a seguinte:
Str_replace(cadeia_buscada, cadeia_substituida,cadeia_original)
Sendo cadeia_buscada: a cadeia que queremos substituir.
Cadeia_sustituida: a cadeia que queremos colocar no lugar da cadeia buscada
Cadeia_original: a cadeia onde se buscará a cadeia a substituir.
Ficando o script da seguinte maneira:
<?
//Cria-se uma variável com a imagem do @
$arroba='<img src="rota_imagem">';
//Cria-se uma variável com o endereço
$endereco=nome@oquefor.com
//Executa-se a função str_replace
$mail=str_replace("@",$arroba,$endereco);
//Desta forma busca dentro de $endereco a @ e a substitui por $arroba, finalmente se visualiza o endereço
echo $mail;
?>
Se, como comentei ao princípio, se quer fazer um link simplesmente teria que fazer um link tal como vem explicado no artigo ocultar um e-mail de um link para evitar o spam.