Diseño Web, Registro de dominio y Hospedaje Web

miércoles, 22 de julio de 2009

¿Como Ocultar un email de un enlace para evitar el spam?

Cómo ocultar una dirección de correo, que se pone en el mailto de un enlace, para evitar que sea detectada por los robots que buscan direcciones en webs para enviar spam.

Uno de los mecanismos que utilizan las personas que envían spam (spammers) para obtener direcciones de correo para su lista de distribución es rastrear la web en busca de direcciones email. Todas las direcciones que aparecen en las páginas web, a la vista o escritas en el código, son susceptibles de ser capturadas y utilizadas para el envío de spam. Por eso, no es mala idea proteger nuestros correos para ponerles la tarea difícil a los spammers, y evitar que en poco tiempo comencemos a recibir mensajes no deseados.

Un enlace a un correo electrónico es así:

<a href="mailto:correo@midominio.com">correo@midominio.com</a>

Tanto en href como en el texto del enlace aparece nuestro correo electrónico. En este artículo veremos un par de ideas para evitar que aparezcan nuestros datos, de modo que no puedan captar las direcciones.

Utilizar una imagen en el texto del enlace

Una buena solución consiste en utilizar una simple imagen donde aparece el correo. Esta imagen tendrá el texto del correo electrónico, para que el visitante pueda visualizar la dirección en la página, pero escrita sobre una imagen. Eso es indetectable por un robot que escanee la página y nuestros clientes podrán ver claramente cuál es el correo donde deben escribirnos.

Si no ponemos el enlace y colocamos sólo la imagen, acabarían nuestros problemas. El visitante no podría pulsar la dirección de correo en la propia página para enviarnos un mail, pero muy probablemente sea suficientemente avispado para copiarla por el mismo en el programa de correo que utilice.

Utilizar Javascript para ocultar la dirección

Podemos por mediación de Javascript hacer un pequeño programa para que nuestra dirección no aparezca en el código, por lo menos no tan clara. Podemos, por ejemplo, partirla en diferentes trozos y luego concatenarla, de manera que no pueda verse por completo en ningún sitio del código de la página.

Veamos este script:

<script language="JavaScript">
usuario="pepe"
dominio="alpepone.com"
conector="@"


function dame_correo(){
return usuario + conector + dominio
}

function escribe_enlace_correo(){
document.write("<a href='mailto:" + dame_correo() + "'>" + dame_correo() + "</a>")
}
</script>

Primero se definen tres variables que forman el correo electrónico que deseamos ocultar. Luego tenemos dos funciones útiles:

La función dame_correo() devuelve el correo electrónico que se desea ocultar. Simplemente concatena las partes del correo electrónico, que se habían definido en variables más arriba.

Por su parte, escribe_enlace_correo(), escribe en la página web un enlace a correo electrónico completo. Un enlace a un correo electrónico es así:

<a href="mailto:correo@midominio.com">correo@midominio.com</a>

Esta función se apoya en la dame_correo() para obtener el correo que se deseaba ocultar.

Para que aparezca en la página el enlace al correo electrónico debemos hacer una llamada a la función escribe_enlace_correo(), en el lugar del cuerpo que deseemos que se muestre.

Nota: si el ordenador del usuario no tiene Javascript o lo tiene deshabilitado, no podrá ver esas direcciones de correo escritas en la página desde Javascript. Por ello, puede ser buena idea combinar este truco con el de mostrar una imagen con el correo, para que por lo menos se vea la imagen. Aunque todavía hay navegadores en sólo texto, con lo cual ni siquiera verían la imagen. En fin, todo un mundo de posibilidades.

Este sería el código para mostrar en cualquier parte de la página.

<body>
<!-- en cualquier parte del cuerpo de la página -->
<script>escribe_enlace_correo()</script>
</body>

i el robot del spammer es muy listo, probablemente pueda poner en ejecución el Javascript para interpretarlo y saber dónde está escondida la dirección de correo. Eso parece por el momento poco probable. Hay tantas direcciones en las páginas web, que es posible que no se vayan a entretener en realizar cábalas para obtener direcciones ocultas en el código de la página.

No obstante, seguro que hay maneras de ocultar un poquito mejor con Javascript esa dirección. Puede que lo de las variables definidas arriba del todo puede resultar un poco obvio. Dejo para vosotros investigar esa tarea si lo deseáis. Puede que hablemos de ella en un artículo posterior. Enviar vuestros comentarios si tenéis alguna ayuda para mejorar el script.

www.desarrolloweb.com

No hay comentarios: