Codificar Email com PHP – Prevenir Que Spam Bots Recolham Email

A 15 de Fevereiro de 2009, categoria Segurança, por Carlos Gonçalves
3

A Polícia tem os criminosos, a PETA tem o Michael Vick, Portugal tem o Sócrates :D , e nós Programadores temos os Spammers.

Spammer

A forma aparente que os spammers pensam que nós pensamos

Spam para os emails é provavelmente a parte mais chata do meu trabalho. Sempre que coloco um email numa página web ou num formulário, tenho que perder tempo extra para prevenir spammers de explorar a informação que coloco na página.
Spammers são adversários de qualquer programador e parece que a guerra nunca acaba.
Eu tenho um script em PHP que uso quando coloco emails numa página:

A Função

function codificar_email($email)
{
        $tamanho = strlen($email);
	for ($i = 0; $i < $tamanho; $i++)
	{
		$email_codificado .= '&#'.ord($email[$i]).';';
	}
	return $email_codificado;
}

Uso

echo(codificar_email('meuEmail@dominio.com'));

A função acima, recebe uma string (o endereço de email), percorre cada caractér com o strlen, e substitui com o valor correspondente em ASCII, e retorna o email codificado.
Isto é o que precisas de fazer!

Sei que esta não é uma solução à prova de bala, e provavelmente não é a melhor.
Se tens uma página com centenas de emails, faz um favor aos teus contactos – usa este script! :P


Muito FracoFracoRazoávelBomMuito Bom (Nenhum voto por enquanto)
Loading ... Loading ...
Tags:
 

Tu Sabes, Como Eu Sei Que Leste O Meu Email?

A 7 de Fevereiro de 2009, categoria FTP, Opiniões, Ideias e Dicas, PHP, Segurança, por Carlos Gonçalves
1
Dicas

Dicas

Provavelmente já mencionei isto antes, mas já desenhei e codifiquei alguns templates e-mail HTML para os meus clientes. Ainda que actualmente utilize um serviço de e-mail que monitoriza os cliques, retornos, e as vezes que foi aberto, apesar de nem sempre ter sido assim. Tive de fazer os meus próprios métodos de monitorização e cliques e as vezes que foi aberto. Aqui está como se pode fazer isso.

Monitorização Cliques: HTML

<a href="http://mydomain.com/landing.php?e=email@address.com">Clica Aqui</a> para mais informação!

Monitorização Cliques: PHP

// (dentro do "landing.php")

if(isset($_GET['e']))
{
	//Valida e grava os cliques aqui
}

Monitorizar os cliques é a parte mais fácil. Tudo o que fazemos é colocar uma variável $_GET para o link. Simples!

Monitorização das vezes que foi Aberto: HTML

<img src="http://mydomain.com/emails/record.php?e=email@address.com" alt="Tracker" />

Monitorização das vezes que foi Aberto: PHP

// (Dentro do "record.php")
header('Content-Type: image/jpeg');

if(isset($_GET['e']))
{
	//Valida e grava os cliques aqui
}

if(ini_get('zlib.output_compression'))
{
	ini_set('zlib.output_compression', 'Off');
}
header('Pragma: public'); // Obrigatório
header('Expires: 0');	// cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private',false);
header('Content-Disposition: attachment; filename="blank.gif"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize('blank.gif'));	// fornece o tamanho do ficheiro
readfile('blank.gif');
exit();

Este processo envolve um pouco mais. Precisas primeiro de dizer ao ficheiro PHP que deve ser servido como uma imagem. Então, lês o valor da variável $_GET e guardas que o utilizador solicitou o ficheiro.
Evidentemente, este não é o melhor método de monitorização de e-mail. Falhamos os relatórios de rejeição, reencaminhamento, e uma série de outras estatísticas importantes. No entanto, obtemos a informação mais importante: quem viu o meu e-mail?


Muito FracoFracoRazoávelBomMuito Bom (2 votos, média: 4,50 num total de 5)
Loading ... Loading ...

Procuras alguma coisa?

Utiliza o formulário abaixo para pesquisares no meu site:


Ainda não encontraste o que procuravas? Deixa um comentário num post ou contacta-me para que te possa ajudar!

Arquivos

Ordenado de forma cronológica...