Vínculos>>Enlaces antispam

Protegernos del "spam"

Todos sufrimos la plaga del spam, el correo publicitario no solicitado, que invade nuestros buzones. Aunque no es el único, uno de los causantes de este problema es la actuación de programas rastreadores que localizan los vínculos de correo existentes en las páginas web y construyen inmensas bases de datos que sirven de soporte para realizar los envíos masivos. La página de nuestro centro no se librará de esta situación, lo cual ya es bastante problemático, pero si además pretendemos incluir las direcciones del profesorado también esas serán "cazadas" y, por tanto, víctimas del spam.

El procedimiento que se explica a continuación nos servirá para evitar (al menos por el momento) a los rastreadores, permitiendo sin embargo que cualquiera que visite nuestra página disponga de la dirección del centro, o de cada profesor, para establecer contacto por correo electrónico. Está basado en la utilización de javascript, pero no te preocupes si no conoces nada de este lenguaje: basta con que sigas las instrucciones incluyendo los datos que correspondan a tu caso para que puedas aplicarlo.

Necesitaremos los siguientes elementos:

  1. Un archivo externo en el que incluiremos las direcciones de correo descompuestas en nombre de usuario y servidor.
  2. Enlazar la página con el archivo externo para que tome los valores que necesite.
  3. Construir las direcciones utilizando un pequeño código en Javascript.

Así pues ¡manos a la obra!

Lo primero es construir ese archivo externo. Podemos guardarlo con cualquier extensión, incluso una inventada (en el ejemplo hemos utilizado la habitual js). La única condición es que lo hagamos en formato texto. El contenido de dicho archivo es una definición de las variables que se utilizarán en el script, lo cual nos permitirá componer las direcciones de cada uno de los usuarios mencionados en la página:

Contenido del archivo ocultacorreo.js que se utiliza para el ejemplo

var nombre1 = "fran";
var nombre2 = "maria";
var nombre3 = "juana";
var nombre4 = "pedro";
var nombre5 = "luisa";


var dominio1 = "platea.pntic.mec.es";
var dominio2 = "otro.servidor";

Para poder llamar al archivo que acabamos de construir creamos un enlace en el encabezado, para lo que escribimos en la sección <head> la referencia

<script language="JavaScript" src="ocultacorreo.js"></script>

Ahora que hemos cubierto los dos primeros pasos podremos incluir los vínculos de correo en la página eligiendo alguna de las siguientes opciones:

Opción 1: Un texto (o una imagen) sirve de base para soportar el vínculo de correo

<script language="JavaScript">
document.write("<a href=" + "mail" + "to:" + nombre1 + "@" + dominio1 + ">Contactar</a>");
</script>

El resultado se vería asi:

Si queremos incluir una imagen el código quedaría:

<script language="JavaScript">
document.write("<a href=" + "mail" + "to:" + nombre1 + "@" + dominio1 +"><img src=" + "nombre_imagen border=0" + "></a>");
</script>

Y veríamos el resultado como:

Como puedes comprobar en ambos casos la dirección se puede ver en la barra de estado del navegador, pero no será visible para los rastreadores porque no está "escrita" literalmente en ningún punto de la página sino que la genera el script tomando los valores del archivo externo. Incluso podríamos ocultar el propio signo @ creando una nueva variable en el archivo ocultacorreo.js (var arroba="@";) y poniendo arroba donde ahora pone "@" en el script, de forma que nos quedarían así:

<script language="JavaScript">
document.write("<a href=" + "mail" + "to:" + nombre1 + arroba + dominio1 + ">Contactar</a>");
</script>

<script language="JavaScript">
document.write("<a href=" + "mail" + "to:" + nombre1 + arroba + dominio1 + "><img src=" + "nombre_imagen border=0" + "></a>");
</script>

Opción 2: En este caso, en lugar de un texto o una imagen, nos vamos a permitir el lujo de mostrar la propia dirección de correo como texto de soporte del enlace, pero la construimos utilizando los valores del script para que no pueda ser cazada por los rastreadores. Como en el archivo con la lista de usuarios tenemos recogidos los valores de varios nombres de usuario y de dominios podemos construir las direcciones combinándolos como corresponda. El script para cada uno quedaría como sigue, con los cambios en las variables nombre y dominio para adjudicar los valores correspondientes a cada caso:

<script language="JavaScript">
document.write("<a href=" + "mail" + "to:" + nombre1 + "@" + dominio1 + ">"); document.write(nombre1 + "@" + dominio1 + "</a>");
</script>
Los resultados quedarían de la siguiente forma:
nombre1, dominio1
nombre2, dominio2
nombre3, dominio1
nombre4, dominio1
nombre5, dominio2

Actividad 57Vamos a incluir la protección antispam en nuestras páginas.