una página para pagina otra misma hipervinculos hipervinculo hacer enlazar enlaces enlace electronico ejemplos dentro correo como codigo html encoding obfuscation spam mailto

html - página - ¿Cómo proteger un enlace de correo?



hipervinculos en html ejemplos (6)

Quiero que los visitantes puedan hacer clic en (o copiar) una dirección de correo electrónico directamente en mi página web. Sin embargo, si pudiera hacer (un poco) más difícil para los bots y otros rastreadores obtener dicha dirección de correo electrónico y registrarla en una lista de correo no deseado, sería increíble.

Encontré diferentes maneras de hacer esto (es decir, codificar los enlaces de correo a HTML), ya sea con JavaScript o en HTML puro, pero ¿qué recomiendan? Las técnicas de JavaScript parecen más complicadas, pero esto puede afectar potencialmente a los usuarios que lo tienen apagado, y a rastreadores legítimos como Google.

Por otro lado, el HTML uno parece un poco básico, los escritores de bot ya deberían haberlo descubierto ...

¿Debo molestarme en hacer esto, o los spammers recibirán mi correo electrónico de todos modos? Sé que los filtros antispam están mejorando cada vez más, pero si puedo hacer algo más para frenar a los spammers, lo haré.



JavaScript sigue siendo uno de los mejores ofuscadores de correo. Para usuarios con JavaScript deshabilitado, es posible que desee sustituir el enlace mailto con un enlace a un formulario de contacto.

El siguiente es un conocido ofuscador de correo electrónico anti spam de JavaScript:

También hay una versión de php de lo anterior para poder generar correos electrónicos confusos desde el lado del servidor.

Este es el código JavaScript que generaría la herramienta anterior para ofuscar mi dirección de correo electrónico (comentarios intactos):

<script type="text/javascript" language="javascript"> <!-- // Email obfuscator script 2.1 by Tim Williams, University of Arizona // Random encryption key feature by Andrew Moulden, Site Engineering Ltd // This code is freeware provided these four comment lines remain intact // A wizard to generate this code is at http://www.jottings.com/obfuscator/ { coded = "[email protected]" key = "1DtzZ8TGBuhRjJMKWI4gkUF2qidfOyPmSN7X30Vpso6xvErLnwQCbalA95HcYe" shift=coded.length link="" for (i=0; i<coded.length; i++) { if (key.indexOf(coded.charAt(i))==-1) { ltr = coded.charAt(i) link += (ltr) } else { ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length link += (key.charAt(ltr)) } } document.write("<a href=''mailto:"+link+"''>Email Me</a>") } //--> </script><noscript><a href=''contact-form.html''>Email Me</a></noscript>


Puede utilizar servicios externos como aemail.com :

@email es un servicio gratuito de ocultación de correo electrónico que oculta los correos electrónicos mediante URL cortos que redireccionan a los remitentes a mailto-url después de hacer clic en el enlace.

Después de ingresar un correo electrónico en aemail.com, recibirá una URL corta, que se puede usar para reemplazar su enlace ''mailto''. Una vez que se haga clic en el enlace, su usuario será redirigido a la URL ''mailto'' sin ningún aviso de aemail.com. API se puede utilizar para ocultar correos electrónicos / obtener URLs dinámicamente.

Ejemplo:

<a href="mailto:[email protected]">Contact</a>

Reemplazado con

<a href="https://aemail.com/q2">Contact</a>

Mantendrá el enlace de correo electrónico funcionando


Sobre la base de la respuesta de Daniel Vassallo, una forma de cifrar un enlace de correo electrónico que puede evitar spambots más inteligentes que evalúen JS document.write s (como lo señalara la encarnada) sería colocar el descifrado en una función de Javascript que solo se evalúa cuando el enlace se hace clic en. Por ejemplo, usando base64 como el "cifrado":

<script> function decryptEmail(encoded) { var address = atob(encoded); window.location.href = "mailto:" + address; } </script> <a href="javascript:decryptEmail(''dGVzdEB0ZXN0LmNvbQ=='');">Email</a>

Trabajando Plunker .

No pretendo saber si esto podría o no ser superado por un rastreador más sofisticado.


Yo simplemente uso:

<script language="javascript" type="text/javascript"> var pre = "hideme"; document.write("<a href=''mailto:" + pre + "@domain.com''>" + pre + "@domain.com</a>"); </script> <noscript>Enable javascript to see our email!</noscript>


Podría usar la funcionalidad de ocultación de correo reCAPTCHA . Esto representará las direcciones de correo electrónico en el [email protected] formulario [email protected] donde los puntos suspensivos son un enlace para ver la dirección completa. Es un poco engorroso para el visitante, pero debería otorgarle una protección superior. Dicho esto, esta técnica no permitirá que sus visitantes copien la dirección directamente desde su página web.

No entiendo la parte de los "rastreadores legítimos" como Google. Al menos, no puedo ver por qué Google debería indexar la dirección de correo electrónico de todos modos. (Ver el comentario de OPs a continuación.)