Enmascarar y proteger las direcciones de correo contra el SPAM



¿Porqué debería proteger las direcciones de email?

Porque existen robots “caza emails”, que son ejecutados por personas que quieren encontrar correos para enviarles publicidad (SPAM). A modo de ejemplo (para saber que son y cómo funcionan), simplemente hay que buscar en Google “email hunter” y verás que hay programas que se ejecutan manualmente y se dedican a buscar correos como arañas.

Es por esto que, si desarrollamos un sitio web donde publiquemos el correo de contacto (por ejemplo en el pie de página o junto al formulario de contacto), o si dejamos nuestros correos de manera pública en los comentarios de algún blog, no va a pasar mucho tiempo hasta que nos comenzarán a llegar cientos o miles de correos promocionales no deseados.

Entonces: ¿qué hago?

Existen muchas maneras de proteger las direcciones de correo electrónico para que no sean detectadas por los “robots caza emails”, y por supuesto, la mayoría de estas alternativas utiliza imágenes o JavaScript 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 imagen de una dirección de correo es la de generarla manualmente en algún editor de imágenes. 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 title o alt 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, sin embargo esta solución es muy poco eficiente si estamos hablando de un sitio dinámico donde tengamos más de alguna dirección de correo.

Utilizar un generador de imágenes

Existen muchas alternativas de sitios web o software que permiten crear automáticamente estas imágenes, tal como http://services.nexodyne.com/email/index_custom.php.

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 esto es un ejemplo), puedes utilizar una función de PHP que genere la imagen, utilizando un código similar a este:

<? echo nombreFuncion("[email protected]"); ?>

Obviamente, acá no les dejaré la función que genere la imagen, porque no creo que sea la mejor alternativa, pero si alguien la quiere, puede dejarme un comentario y edito el post para publicarla.

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.

Lo que hace ese sitio internamente es lo mismo que haría la función que mencionaba en el punto anterior.

Reemplazar solamente la arroba (@)

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

Incluso sería posible llamar a una foto que no existe, para que aparezca la “@” del alt, aunque no es lo mejor en cuanto al SEO ni a la seguridad, 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 imagen.

Otra alternativa para reemplazar la arroba

Otra posible solución sería escribir nuestro correo de la siguiente manera:

micorreo<span class="arroba"></span>misitio.com

Si se fijan, la @ está representada por la palabra “(arroba)”, la cual está dentro de un span que tiene la clase “arroba”. 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 (en jQuery y Mootools):

//jQuery
$('.arroba').each(function(i,el){
	$(el).html('@');
});

//mootools
$$('.arroba').each(function(el){
	el.set('html','@');
});

La funcion toma todos los span que tengan la clase “arroba” y reemplaza su contenido (innerHTML) por una @… Y voila!, simple y eficiente.

De esta manera, los visitantes (que tengan JavaScript habilitado, obviamente) verán el email como cualquier email, e incluso lo podrán copiar/pegar.

¿Y si el visitante no tiene JavaScript habilitado?, se preguntarán muchos. A esta altura todos los navegadores modernos (e incluso IE6) tienen soporte para JavaScript, y es muy raro que una persona navegue sin tenerlo habilitado (prácticamente no podría navegar). Aún así, para esos extrañísimos casos en 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.albionresearch.com/misc/obfuscator.php, que permite codificar una dirección de correo que se ingrese. La otra manera es haciéndolo con alguna función de PHP, pero nuevamente no creo que sea la mejor solución, asique no dejaré el código para esto.

Pero 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 type="text/javascript">
	<!--
	function enmascarar(user,host){
		document.write(user+"@"+host);
	}
	//-->
</script>

Pero en la práctica, sólo lo menciono para demostrar que existen cientos de métodos, y que dependen solamente de la imaginación de quien desarrolle.

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 nuestros clientes, e incluso a nuestras visitas cuando quieran cooperar comentando en nuestros sitios.

Originally posted 2016-02-15 10:15:57.

Enmascarar y proteger las direcciones de correo contra el SPAM
Etiquetado en:            

Deja un comentario

¿Quieres recibir el contenido V.I.P de Preceptos Digitales?

¿Quieres recibir el contenido V.I.P de Preceptos Digitales?

Ingresa tu correo y te enviaremos contenidos especiales para quienes escuchan el Podcast!



Te has suscrito exitosamente! Nos hablamos!