De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Glaydson Lima
Data de Publicação: 06 de Janeiro de 2005
Um dos grandes problemas na publicação de e-mails em sites, fóruns e lista de discussão, é a possibilidade de programas robôs de spammers capturarem este e-mails. E aí, uma vez capturados, os e-mail publicados tendem a receber cada vez mais lixos eletrônicos. Em muitos fóruns ficou comum a modificação da escrita do e-mail para formas similares. Por exemplo:
<fulano (a) provedor com br> torna-se fulano [!arroba!] provedor [ponto] com [ponto] br
Os programas dos spammers buscam nas páginas informações com o símbolo arroba e montam os e-mails.
Para segurança das pessoas que postam mensagens, existe a possibilidade de usar uma combinação de PHP e Java Script que camuflam os e-mails. Para este modelo, é necessário ter a biblioteca GD do PHP instalada.
Iremos desenvolver com 3 arquivos:
Arquivo que contém a codificação dos caracteres arroba e ponto. Esta codificação não pode conter sequência de caracteres comuns e deve variar sempre que possível.
<?php # Define as constantes de substituição do arroba e ponto dos e-mails define("CONS_ARROBA","_arroba_"); define("CONS_PONTO","_pt_"); ?>
Criará uma imagem com o e-mail codificado. Esta imagem será normalmente legível pelos usuários.
<?php require("inc_vars.php"); // define tamanho da imagem de acordo com o e-mail $largura = strlen($_GET["email"])*6; // cria uma imagem $im = imagecreate($largura, 13); // Define cor de fundo e cor do texto $bg = imagecolorallocate($im, 255, 255, 255); $textcolor = imagecolorallocate($im, 39, 104, 124); // Escreve a string do e-mail imagestring($im, 3, 0, 0, str_replace(CONS_PONTO,".",str_replace(CONS_ARROBA,"@",$_GET["email"])), $textcolor); // Retorna a imagem header("Content-type: image/png"); imagepng($im); ?> 3.arquivo.php Será o arquivo principal, contendo a chamada para o script de imagem e o JavaScript que montará o mailto correto. <?php require("inc_vars.php"); function ocultaEmail($PEmail) { $emailCodificado = str_replace("@",CONS_ARROBA,$PEmail); $emailCodificado = str_replace(".",CONS_PONTO,$emailCodificado); return "<a href=\"#\" onClick=\"converteMailTo(this,'$emailCodificado')\"><img border=\"0\" src=\"imagemEmail.php?email=" . $emailCodificado ."\"></a>"; } ?> <html> <head> <script language="JavaScript"> function converteMailTo(PObj,PEmail) { PEmail = String(PEmail).replace(new RegExp("<? echo CONS_ARROBA; ?>","gi"),"@"); PEmail = String(PEmail).replace(new RegExp("<? echo CONS_PONTO; ?>","gi"),"."); PObj.href = "mailto:" + PEmail; } </script> </head> <body> <p> <? echo ocultaEmail("fulano@provedor.com.br");?> </p> </body> </html>
Veja um exemplo do resultado desta combinação.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários