Qual é uma boa maneira de listar um endereço de e-mail "Entre em contato" em um site e reduz a probabilidade de receber spam?
Colocar o endereço de email em uma imagem é a melhor técnica ou existem outras?
Qual é uma boa maneira de listar um endereço de e-mail "Entre em contato" em um site e reduz a probabilidade de receber spam?
Colocar o endereço de email em uma imagem é a melhor técnica ou existem outras?
Respostas:
Passo todos os formulários de contato por meio de uma conta descartável do Gmail, que encaminha o e-mail para o endereço de e-mail real. É grátis, fácil e a detecção de spam do Gmail é de primeira qualidade.
Ele não exige nenhum esforço extra ao criar o site e, se algo acontecer, basta fazer login na conta do Gmail e sinalizá-la como spam.
Em seguida, você pode definir a caixa de entrada do Gmail para arquivar automaticamente tudo o que foi encaminhado ou até mesmo excluí-la se não desejar que a cópia extra seja mantida lá.
Use um ofuscador de e - mail
Minha não resposta é não fazer isso. Os sistemas de email modernos, como o GMail e o dispositivo anti-spam Barracuda, fazem um excelente trabalho de filtragem de spam. Qualquer barreira que você coloca entre você e seus visitantes significa um nível mais baixo de envolvimento e, dependendo do tipo de site, perda potencial de vendas.
Se você estiver preocupado com usuários que não possuem o cliente de email nativo instalado ou que não possuem o manipulador mailto: configurado corretamente, tenha uma página Fale conosco com AMBOS o endereço de email vinculado e um formulário (sem um CAPTCHA) e deixe o usuário escolher.
O spam é irritante, mas é nossa responsabilidade suportar, não nossos usuários.
Use a linguagem natural para especificar o endereço de e-mail ...
Ex:
thatguy at gmail dot com
Você ficaria surpreso com o quanto é mais difícil escrever um bot que possa diferenciar a linguagem natural do que escrever um bot que apenas procura o sinal @ e regexes um endereço normal.
Não é 100% infalível, mas não é pior que a ofuscação e não alienará os usuários com deficiência visual e / ou com o JavaScript desativado.
Atualização: Aqui está um exemplo dessa técnica em ação .
Atualização 2:
Acontece que alguém realmente fez uma pesquisa sobre isso e publicou on-line. Veja a postagem do Superusuário descrevendo os resultados ou o artigo original
thatguy funny-symbol gmail.com
Pessoalmente, não exibo endereços de email nos sites, mas, em vez disso, tenho um formulário de contato acessível e fácil de usar, além de uma indicação de quem é o email; permitindo que os usuários enviem e-mails para os proprietários e operadores do site, sem expor os endereços de e-mail ou ter que passar por vários ciclos de JavaScript, etc.
Geralmente, é o melhor caminho a percorrer se a sua filtragem de spam não for tão sofisticada.
use css para esconder algum ruído do texto real (apenas em uma linha, eu o formatei para melhor ilustrar a técnica):
u<span class="spam">noise</span>ser
@<span class="spam">noise</span>
example<span class="spam">noise</span>
.com
e depois use este pequeno fragmento de css:
.spam { display: none; }
se você precisar de mailto:
conteúdo válido , precisará criá-lo via jscript no dom. Consulte algumas das outras respostas para isso. mas eu não sou um grande amigo disso.
O que faço é escrever o endereço de email como palavras, envolto em uma tag span: <span class="email">joe dot blow at gmail dot com</span>
. Em seguida, um script no nível da página é executado, capturando essas extensões e substituindo cada uma por um link de email construído. Pode não ser muito obscuro, mas não tive queixas. Além disso, se o JavaScript estiver desativado, o usuário ainda poderá ler o texto da extensão real.
A melhor solução: use um filtro de spam .
Na verdade, eu uso o Gmail para lidar com minha conta de email POP3 da minha empresa, porque é muito mais fácil verificar emails em computadores diferentes. Os filtros de spam do Gmail são os melhores do mundo.
Assim, você pode exibir webmaster@example.com como seu endereço de e-mail e esquecer o spam.
usando codificação html como ʉẮᶗ
, o navegador exibirá "abc"
Use uma biblioteca gráfica (como GD, compatível com PHP ou similar) para criar dinamicamente imagens .png contendo os endereços de email.
Comparada à minha outra resposta, essa solução é menos irritante para os usuários (mas não é transparente; eles não podem copiá-los e colá-los, mas devem digitá-los novamente do zero), mas também são menos seguros: um computador pode ler a imagem não ofuscada.
Mas, no geral, acho que é um bom compromisso; Isso impedirá a grande maioria dos bots de spam.
Uma maneira bastante boa, embora não perfeita, é criar o endereço de email via javascript. A maioria das aranhas que procuram e-mails não executa javascript e, portanto, não encontra um endereço de e-mail legível.
Aqui está apenas um exemplo de como isso poderia ser feito.
Eu uso um script Python simples para converter o endereço de email em um link mailto em que o endereço de email é codificado em entidade HTML. Isso é completamente transparente para o usuário, mas parece obscurecer o conteúdo o suficiente para derrotar a maioria dos bots de colheita simplórios.
#! /usr/bin/env python3.0
def entity_encode(text):
out = ""
ba = text.encode()
for i in range(len(ba)):
out = out + "&#x{0:02x};".format (ba[i])
return out
def print_email_link(address) :
print('<!-- {0} -->'.format(address))
print('<a href="{0}{1}">{1}</a>'.format(entity_encode("mailto:"), entity_encode(address)))
print_email_link("test123@example.com")
Isso fornece a saída
<!-- test123@example.com -->
<a href="mailto:test123@example.com">test123@example.com</a>
Quando o resultado é colado em uma página da web, o navegador exibe o texto "test123@example.com" como uma hiperlinha para "mailto: test123@example.com"; portanto, é tão conveniente para o usuário final quanto incluir o endereço no Claro. Mas parece derrotar muitos robôs de colheita.
Obviamente, excluo o comentário com a versão ASCII simples do endereço depois de colar o link do email oculto no local apropriado na fonte HTML da página da web.
Peça ao usuário para resolver um CAPTCHA antes de mostrar o endereço de e-mail (ou se você tiver um formulário de contato, antes de permitir que o usuário o envie).
É o mais irritante para os usuários, mas definitivamente o mais eficaz.
Sou fã de ofuscação, onde o endereço de email é essencialmente renderizado com Javascript.
Por exemplo, my@email.com
poderia ser renderizado como
<a href="javascript:location='mailto:\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d';void 0">
<script type="text/javascript">document.write('\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d')</script></a>
Para o usuário, é um texto normal e pode ser copiado e colado. Bots, por outro lado, terão mais dificuldade com isso.
Aqui está o ofuscador que eu usei.
<a href="#" onclick="document.location.href='mailto:...'; return false">
Mão única:
<script language="javascript">
<!--
var name = "user"
var host1 = "gm"
var host2 = "ail.com"
var addr =
document.write("<a href=mai" + "lto:" +
name + "@" + host1 + host2 +
">" + name + "@" + host1 + host2 + "</a>")
//-->
</script>
Você pode escrever "Decifrar meu e-mail: usuário no com dot gmail" em <noscript>
tags para aqueles com o javascript desativado. Dessa forma, você obtém a funcionalidade de hiperlink. Você tem uma boa chance de manter os spamers longe do seu endereço e as pessoas com o javascript desativado ou os navegadores apenas com texto ainda podem obter o seu endereço de email.
Todas as técnicas de ofuscação do mundo não podem ajudar a longo prazo, se houver muitas pessoas entrando em contato com você. Tudo o que precisamos é de alguém para você soltar uma mensagem e mais tarde infectado por algum malware que varre seu inbox / mail enviado / livro de endereços / whatever para endereços válidos, andyour dirigir-se lá fora, que está sendo passada de lista para lista [I ainda têm contatos que são estúpidos o suficiente para colocar lá o endereço de e-mail e a senha nos formulários on-line pelo motivo mais idiota, você provavelmente também o mais recente foi um site que se ofereceu para calcular o "gráfico e previsões de astrologia de e-mail" de alguém que imediatamente enviou spam os contatos de fool com um convite para o mesmo site e a <deidade> só sabe em que outras listas estamos agora] .
O endereço nos meus sites públicos não é apenas um endereço descartável - está em um subdomínio descartável. Se eu começar a receber spam nesse subdomínio, crio um novo, atualize os sites onde meus detalhes de contato estão listados e, pouco tempo depois, removo completamente o subdomínio dos registros DNS. Se você fizer isso, ou qualquer outra técnica de endereço descartável, certifique-se de deixar claro (em qualquer página que lista o endereço e no rodapé de qualquer email enviado usando esse endereço) que o endereço será alterado no futuro e se as pessoas puderem para passar, eles devem verificar novamente para garantir que tenham o endereço correto.
Isso tem a vantagem de ser apenas um endereço simples para as pessoas clicarem (se seu navegador + mala direta estiverem vinculadas dessa maneira) ou copiar + colar sem precisar usar o cérebro para editar o endereço posteriormente (sempre fico surpreso com o número de pessoas inteligentes e observadoras não conseguem acertar esse tipo de coisa). Isso também significa que meu servidor de email não passa seus dias devolvendo mensagens enviadas para endereços "aleatórios" (aaron @, adam @, amy01 @, ...) nos subdomínios expirados. Também não confunde os leitores de tela usados pelos cegos ou mal situados.
Outra opção que eu ainda não tentei é usar uma solicitação AJAX para ler o endereço de e-mail e outros detalhes. Isso pode ser um pouco mais eficaz que a document.write
ofuscação com base, mas adicionará uma carga extra no servidor da web.
Eu costumava usar os formulários "entre em contato comigo", mas descobri que eles são spam tanto quanto, às vezes mais do que endereços de email em texto sem formatação - às vezes por scripts que tentam usar o formulário para criar uma conta em algum lugar, em vez de use-o como um formulário de contato.
Se você possui um filtro de bot (usando 1x1px, sub-rede, bots conhecidos, detecção de jscript, referenciador http e agente do navegador), você simplesmente não pode exibir as informações se for um bot.
Solução em PHP:
<?
if (!isbot()) {
echo 'mailto:'.$email_address_for_real_people;
}
else {
echo 'mailto:yourself_bot@'.$bots_domain_address;
}
?>
isbot()
é uma função criada pelo usuário que aponta para qualquer rotina de filtro de bot que você tenha.
A coisa mais fácil que encontrei é usar um formulário de contato em que haja um endereço padrão, mas também a capacidade do usuário selecionar para quem a comunicação deve ir (marketing, vendas, suporte técnico etc.). Em seguida, com base no valor da lista suspensa, os dados do formulário postado são enviados pelo servidor para o endereço de email apropriado.
Execute esta lista de contatos de uma tabela de banco de dados para poder atualizar / adicionar entradas facilmente ao menu suspenso. Dessa forma, você nunca expõe nenhum tipo de endereço ao amplo mundo dos bots de spam e ainda oferece aos usuários uma ótima maneira de enviar feedback.
De jeito nenhum, José! - Sim, José!
Não há absolutamente nenhuma maneira de 'parar' a coleta de a href="mailto:"
endereços de email. Acredita-se há muito tempo que o uso de JavaScript é uma boa maneira de impedir a maioria dos robôs de colheita, mas hoje em dia os robôs são muito bons em derrotar esse método. Eles também podem derrotar imagens que contêm endereços de email, da mesma maneira que podem derrotar o captcha usando o software decaptcha.
A melhor maneira!
A melhor abordagem seria usar um serviço de correio respeitável que ofereça um bom bloqueio de spam. O Google G Suite e o Microsoft Office 365 usam um algoritmo incomparável a qualquer software no mercado, principalmente porque recebem milhões de e-mails por dia e são capazes de 'aprender' e colocar spam na lista negra muito antes mesmo de tentar enviar um e-mail para você.
De fato, há um ano, o Google disse que sua tecnologia de aprendizado de máquina agora bloqueia 99,9% das mensagens de spam e phishing do Gmail , Microsoft Exchange local e servidores de correio rodando atrás do plesk / cpanel não conseguem competir com essa proteção.
Sumário
Bloqueie o spam usando um serviço de e-mail respeitável capaz de aprendizado de máquina de IA. Você também pode dar um passo adiante, impedindo que os spammers visitem seu site usando o Cloudflare, que detectará uma grande maioria de bots agressivos antes que eles cheguem ao seu site.
Eu uso fred@no-spam.domain.com há anos. Os usuários normalmente sabem o suficiente para excluir o 'sem spam'.
Caso contrário, basta usar um formulário de contato com um 'captcha' e enviar o email diretamente do site.
Uma coisa que faço é usar a API do http://www.stopforumspam.com para verificar se há spammers. Sinta-se à vontade para entrar em contato comigo para obter detalhes e terei prazer em ajudá-lo!
Bud Manz
Manz Web Designs, LLC Empresas
Se você não se importa em usar javascript, pode usar algo como ROT13 para ofuscar o endereço de email. Por exemplo, veja isto:
http://scott.yang.id.au/2003/06/obfuscate-email-address-with-javascript-rot13/
Pessoalmente, prefiro usar um formulário de contato e não me preocupar com os spambots, mas é claro que tudo depende de suas necessidades.
Eu uso uma função PHP para gerar algum javascript para gerar o script em tempo de execução. Observe que você não precisa do PHP para gerar o JS no tempo de execução, é possível gerar o JS uma vez localmente e incluir o JS estático na sua página.
Você também pode usar a função vinculada com esse trecho abaixo para ofuscar automaticamente os endereços de email em um determinado HTML (onde $ processingContent é o HTML):
$emailMatches = array();
$matchCount = preg_match_all('/(?:[a-zA-Z0-9_\.\-])+\@(?:(?:[a-zA-Z0-9\-])+\.)+(?:[a-zA-Z0-9]{2,4})+/', $processedContent, $emailMatches);
if($matchCount > 0) {
$emailMatches = $emailMatches[0];
foreach($emailMatches as $email) {
$replacement = createJSMailLink($email);
$processedContent = str_replace($email, createJSMailLink($email), $processedContent);
}
}
Se você estiver usando um formulário de contato, poderá usar a técnica divertida de usar nomes aleatórios para suas entradas.
Por exemplo, eu faço um formulário de contato, em vez de usar o email como entrada, eu usaria liame, mesmo com nome (eman) e comentário (tnemmoc). Os bots não sabem realmente o que essas entradas fazem, então apenas as desconsideram.
Use o Zoho Creator para configurar um formulário de contato. O feedback que você recebe será armazenado em um banco de dados que você pode acessar on-line e também será enviado por e-mail.