Como posso usar o PHP para endereços de e-mail Ofuscação para que eles não são facilmente colhidos por spammers? [duplicado]

StackOverflow https://stackoverflow.com/questions/385620

Pergunta

Estou programando em PHP e gostaria de criar páginas web que têm endereços de e-mail que são facilmente lidos por seres humanos, mas não são facilmente colhidos por spammers. Os endereços de e-mail está vindo de entrada do usuário, e eu acho que eu posso identificar um endereço usando uma expressão regular, mas eu não estou claro exatamente como eu deveria substituir os endereços de email ou com o que, a fim de manter bots de spam mais automatizados de colhê-los.

Aqui está uma idéia: (código pseudo)

(email)@(domain.com) $1<span class="remove">DELETE</span>$2

.remove {
   display: none;
}

Esperamos que o bot irá tropeçar na tag span.

Finalmente, eu estou procurando uma solução que não vai endereços de email perturbe que estão dentro de marcas mailto:.

Duplicate de Como posso evitar evitar bots de coleta de endereços de e-mail que é duplicata de Quais são algumas maneiras de proteger e-mails em sites contra spambots? e talvez alguns outros ...

Foi útil?

Solução

Você pode ofuscar-lo usando CSS bem ...

<span class="email-encrypt">moc.liamelgoog@avynnib<span class="email-decrypt-message">(Reverse this text to get my Email address)</span></span>

/*Decrypt Email */
.email-encrypt {
    unicode-bidi:bidi-override;
    direction: rtl;
}
.email-encrypt .email-decrypt-message {
    display:none;
}

Edit: Aqui, o endereço de e-mail na fonte é em sentido inverso - o que as declarações CSS faz é que ele reverte o endereço de e-mail à sua forma original. Espero que isso faz sentido.

Mas eu não estou certo de quão eficaz isso é - há muitos bots que simulam um ambiente de navegador. Eu acho que sou melhor de dizer algo como -. Meu email é binnyva, googlemail

Outras dicas

GD e criar uma imagem do seu mail ID

Você pode usar o PHP GD biblioteca para criar facilmente uma imagem de qualquer determinado texto.

Um código de exemplo será semelhante,

<?php
  header("Content-type: image/png");
  $im = @imagecreate(110, 20)or die("Cannot Initialize new GD image stream");
  $background_color = imagecolorallocate($im, 0, 0, 0);
  $text_color = imagecolorallocate($im, 255, 255, 255);
  imagestring($im, 1, 5, 5,  "anything@domain.com", $text_color);
  imagepng($im);
  imagedestroy($im);
?>

Vantagens:

  • Os spammers não pode simplesmente capturá-lo, a menos que eles usam um OCR: p
  • sobrecarga muito baixa, usando o formato PNG / GIF
  • Pode ser criado na mosca para qualquer texto

Desvantagens:

  • Não é possível clicar no e-mail, como um link
  • não vai funcionar com motores TTS, uma ve para deficientes visuais.

uma opção: javascript email ofuscação e imagens quando o JavaScript foi desativado

O truque acima (usando CSS) quase certamente não trabalho. Eu não sei se bots que se preocupar olhando para CSS em tudo, na verdade eu não estou completamente certo de que eles lêem HTML, eles provavelmente apenas coincidir com a página inteira em algum regex de.

Por outro lado, isso faz com que poisioning suas listas com spamtraps bastante fácil. Se você quiser um determinado endereço para receber o spam (e só spam) para treinar os seus filtros, você pode colocar os endereços de e-mail na página que os usuários normais não será capaz de ver ou clicar em, apenas spam.

Na verdade, fazer uma experiência -. Escrever um número de diferentes endereços de e-mail com diferentes tipos de link, e ver quantos spams que recebem

Eu tentei há alguns meses com um link normal no meu site, que demorou cerca de três semanas antes da armadilha começou a receber spam.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top