Todos que mexem com internet, desenvolvedores e não desenvolvedores, sabem que um dos maiores inconvenientes que a rede nos oferece é chamado SPAM. E-mail não desejados com promoções e ofertas de produtos que prometem revolucionar nossas vidas com descontos incríveis e aumento de nossas performances físicas são tão comuns quanto os próprios e-mails.
E umas das maneiras para que esses e-mails cheguem até você é através da disponibilização de seu endereço de e-mail em sites. Sejam sites públicos, privados, cadastros ou o que quer que seja, caso seu e-mail esteja disponível no site sem a devida “proteção”, há grandes chances de ele também ser incluído em uma lista de spammers para que a propaganda pílula azul chegue até você.
Existem diversas maneiras de se colocar e-mails em sites de maneira a não permitir que sejam automaticamente rastreados por bots de spammers, mas duas delas são especialmente eficientes e simples de serem executadas.
Email Spam Protection jQuery Plugin
Para quem gosta de bons plugins para jQuery, existe um plugin que se propõem a fazer essa parte de segurança para e-mails, trata-se do Email Spam Protection. Segundo consta na própria página oficial, basta, depois de fazer as chamadas corretas aos arquivos javascript, inserir o seguinte trecho:
$('body').emailSpamProtection('email');
Com isso, sempre que algo com a classe “email” for encontrado, haverá a substituição de ” [at] ” por “@”.
email [at] dominio.com.br // Aparecerá como "email@dominio.com.br"
Uma solução simples e eficiente para o problema de SPAM.
Função PHP para proteger e-mails de SPAM
Para os membros da velha-guarda e interessados em programação old school, é possível fazermos uma função back-end simples em PHP para, dinamicamente, substituir todos os caracteres do e-mail (incluindo “@” e “.”) por seus respectivos códigos ASCII através da função ord(). A finalidade da função é fazer uma varredura em cada caracteres do e-mail para realizar a substituição (tendo em mente dicas para otimizar códigos PHP):
function encode_email($e)
{
$email_len = strlen($e);
for ($i = 0; $i < $email_len; $i++) { $output .= '&#'.ord($e[$i]).';'; }
return $output;
}
Dessa maneira, o navegador vai renderizar normalmente o e-mail, pois interpreta código ASCII de forma transparente; entretanto, dando uma olhadinha no código-fonte da página, terá a grata surpresa de encontrar:
email@dominio.com.br
E isso dificulta a varredura de bots dos spammers.
Conclusão(?)
A conclusão é que os spammers sempre aprimoram suas técnicas para poder disparar tais mensagens indesejáveis. Acredite se quiser, este é um "nicho de mercado" que gera muito dinheiro. Quem trabalha com desenvolvimento web sempre é mais atento com questões de segurança em web sites, mas os outros 99,9% da população, não. As pílulas azuis continuam sendo vendidas!
Certamente essas não são soluções definitivas, mas, por hora, certamente ajudam a controlar boa parte dos bots spammers. Devemos procurar soluções novas para técnicas de SPAM novas, e novas destas surgem a cada dia...