Pergunta

Existe uma maneira de usar JQuery para ocultar ou criptografar endereços de e-mail em um HTML página sem alterar a sintaxe no href?

Foi útil?

Solução

Usar JQuery pode não ser o caminho que você deseja seguir, pois seria do lado do cliente ...Existe um motivo para você não estar criptografando no lado do servidor?

Outras dicas

Bem, apenas como comentário, você provavelmente deseja que a fonte tenha um endereço de e-mail oculto e, em seguida, use o jQuery para corrigir ou construir o link para ter o endereço correto...porque os bots estarão olhando para a fonte, não para os resultados da execução do seu javascript ;-)

Os nazistas semânticos diriam "codificação" e não "criptografia".A criptografia implica que um segredo é necessário para decodificar.Convertendo para Sintaxe de entidade HTML seria um decente codificação processo para impedir a entrada de humanos curiosos, mas os bots poderiam facilmente decodificá-lo.

Para aproveitar o que Mike Stone estava sugerindo, o que eu faria é criptografá-lo no lado do servidor e ter algo no lado do servidor que irá descriptografá-lo e devolvê-lo como JSON (jsonresultado no framework mvc, web serviço, manipulador http, qualquer que seja).Dessa forma, você poderia usar o jQuery para ofuscar os endereços de e-mail quando quisesse, mas ainda assim confundiria qualquer bot que não suporta java script.Novamente, esta não é uma solução à prova de balas, mas pode fazer o que você procura.

O que fiz foi ofuscá-lo quando for renderizado e ocultá-lo, depois usar javascript para corrigir a ofuscação e mostrar o link.

Por exemplo, você pode renderizar isso no servidor:

<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>

então usando Javascript você pode usar regex para trocar ^^ para @ e $$ para .

Qualquer esquema que você possa inventar provavelmente funcionará.É claro que se o bot entende javascript, isso não importa.

Você bloqueará 95% dos bots que aparecerem em seu caminho e o restante dos usuários verá o endereço perfeitamente.

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