Cómo proteger las direcciones de correo del spam

07th Mar 2010HTML, Javascript, Seguridad, Web

Existen muchas maneras de proteger las direcciones de correo electrónico que aparecen en nuestros sitios para que no sean detectadas por los “robots caza emails”, y por supuesto, la mayoría de estas alternativas utiliza imágenes para protegerlas.

A continuación veremos algunas alternativas que se utilizan según las necesidades de cada tipo de sitio, para proteger las direcciones de correo, ya sea las propias, o las de nuestros visitantes.:

Imágenes generadas manualmente

Una de las soluciones básicas al pensar en crear una imágen de una dirección de correo es la de generar manualmente en algún editor de imágenes la dirección de correo. Esto sería, por ejemplo, escribiéndola en Photoshop, y exportándola como .gif o .jpg para utilizarla en el sitio en reemplazo del texto.

De esta manera, ningún software podría detectar la dirección de correo si mira el código fuente de la página (a menos, por supuesto, que a algún “inteligente” se le ocurra ponerle como nombre a la foto la misma dirección de correo).

En este caso (y en todos los generados con imágenes), es necesario preocuparse bien de la tipografía, color, tamaño y color de fondo que se desea.

Utilizar un generador de imágenes

Existen muchas alternativas de sitios web o software que permiten crear automáticamente estas imágenes:

El proceso es prácticamente el mismo que el del paso anterior, solamente que esta vez no hay que utilizar ningún software específico. Se ingresa a la página, se escribe la dirección de correo y después se configuran las variables necesarias. Se genera y se guarda.

Autogenerar las imágenes

Acá se pone “avanzada” la cosa. El hecho de autogenerar las imágenes implica utilizar lenguajes de programación como PHP o ASP, para llamar a funciones que toman una palabra y generan una imágen. En el fondo, el mismo proceso (nuevamente) que los casos anteriores, pero “hecho en casa”, sin necesidad de recurrir a otros sitios.

Los benecios de esto es que se puede utilizar de manera automática. Por ejemplo si tienes un blog y quieres mostrar las direcciones de correo de todos los que comentan (no es muy recomendado en todo caso, pero ahora da lo mismo porque es un ejemplo), puedes utilizar una función de php que genere la imágen, utilizando un código similar a este nombreFuncion(“tucorreo@ejemplo.com”), tal como se explica, por ejemplo, en http://www.peoplecnc.com/como_ocultar_email_correo.html.

Autogenerar las imágenes desde un sitio externo

Y como no podía faltar, más de algún sitio web ofrece el servicio de enmascarar las direcciones de manera externa, como http://www.houseoftech.com/scripts.php, dando la posibilidad de enviar los datos de manera encriptada (es lo más recomendado), y de utilizar distintas tipografías colores y tamaños.

Reemplazar la arroba (@)

El título lo dice: otra alternativa es la de reemplazar la arroba (@) por una imágen de la arroba, por lo tanto, la dirección tucorreo@ejemplo.com, quedaría como tucorreo<img src=”arroba.jpg” alt=”@”>ejemplo.com.

Incluso es posible llamar a una foto que no existe, para que aparezca la “@” del “alt”. No es lo más seguro que hay, pero con esto ya se dificulta bastante que los robots detecten la dirección de correo.

Este método también permite hacerlo de manera automatizada (para todos los comentarios de un blog, por ejemplo), y se debería hacer reemplazando la arroba de la dirección de email por el código de la imágen.

Otra alternativa para reemplazar la arroba

Lo que tenemos que hacer es escribir nuestro correo de la siguiente manera:

micorreo<span id="reemplazar">(arroba)</span>misitio.com

Si se fijan, la @ está representada por la palabra “(arroba)”, la cual está dentro de un span que tiene el IDreemplazar“. De esta manera:

  • Los robots que visiten la página (al ver sólo el código) verán toda esa línea, y por lo tanto, es muy difícil que lo consideren como una dirección de correo válida.
  • Los humanos (al no ver el código) verán micorreo(arroba)misitio.com, que para una persona común y corriente es completamente entendible.

El truco ahora está en aplicar la siguiente función de javascript.

var reemplazable=document.getElementById('reemplazar');
reemplazables[i].innerHTML="@";

La funcion toma el span que tiene el ID reemplazar y reemplaza su contenido (innerHTML) por una arroba. Y voila!, simple y eficiente. Ahora los visitantes (que tengan javascript habilitado porsupuesto) verán el email como cualquier email, e incluso lo podrán copiar/pegar.

¿Y si no tengo javascript habilitado?, se preguntarán muchos. A esta altura todos los navegadores modernos (e incluso IE6, jaja) tienen soporte para javascript, y es muy raro que una persona navegue sin javascript habilitado.

A los que probablemente si les afecte es a los que navegan desde un teléfono móvil, pero de todas formas, ellos y esos extrañísimos casos que navegan sin javascript habilitado, verán micorreo(arroba)misitio.com, lo cual no debería ser un problema.

Enmascarar emails

Otra alternativa es la de enmascarar las direcciones de correo, que corresponde a ocultar las direcciones con caracteres especiales (codificados).

Existen dos maneras de hacer esto: una es utilizando un ofuscador de email, como el de http://www.codehouse.com/webmaster_tools/email_obfuscator/, que permite codificar una dirección de correo que se ingrese, lo cual es muy útil para poner la propia dirección de correo. La otra manera es haciéndolo de manera propia, llamando a una función de PHP, como se explica en http://digitalcolony.com/2007/05/masking-email-addresses-in-php.aspx (muy buen ejemplo).

Y aún hay más

Las anteriores son, a grandes rasgos, las mejores alternativas para proteger las direcciones de correo. Sin embargo, existen otras alternativas (NO TAN SEGURAS), como enmascarar las direcciones a través de javascript, utilizando un simple código como este:

<script language=javascript>
	<!--
	function enmascarar(user,host){
		document.write(user+"@"+host);
	}
	//-->
</script>

Creo que es muy importante que todos tomemos conciencia de lo que implica publicar las direcciones de correo sin ningún tipo de protección. Por lo mismo, debemos intentar siempre utilizar métodos como los mencionados en este post para proteger a nuestras visitas y a quienes quieran cooperar comentando en nuestros sitios.

No Comments Comments Feed

Add a Comment

Suscribirme a los siguientes comentarios vía email (también puedes suscribirte sin comentar.

Switch to our mobile site