viernes, 9 de noviembre de 2012

Escondiendo el email de las arañas de forma sencilla

Hoy hay muchas formas de evitar que las arañas encargadas de recoger correos por la web para enviar basura,  no vean los correos incrustados en la web. Una de ellas es usando imágenes con la dirección de email contenida en ella, pero esta opción nos impide poder usar adecuadamente la propiedad "mailto" de HTML. Otra de las técnicas utilizadas es el uso de JavaScript. Normalmente este tipo de arañas que van a la caza y captura de direcciones de correo electrónico, no interpretan el JavaScript que encuentran a su paso.

En este punto nos encontramos con dos maneras de conseguir el objetivo: por ofuscación o por "exclusión" de parte del contenido del email. Ofuscar el código es muy utilizado, por eso el método que muestro es el de exclusión. No es algo novedoso, pero si práctico y sencillo y como se verá no cuesta nada programarlo.

Para implementarlo usamos jQuery. Para los que no lo conozcan, es la librería para JavaScript que ha devaluado en los currículum el título de "experto en Javascript".

El pequeño consejo consiste en usar el siguiente código cada vez que queramos representar una dirección de email:

<span class='email'>spam</span>

La función que se encargará de realizar el cambio:

$(function(){
    $(".email").each(function(index) {
        var addr = $(this).text().replace(/\n/g,"").replace(/ /g,"");
        $(this).html('<a href="mailto:'+addr+'@hispasec.com" >'+ addr +'@hispasec.com</a>');
    });
});

Y el código resultante después de cargar la web, que será interpretado por el navegador... Por supuesto, se pueden realizar combinaciones con otros métodos para hacerlo más complejo.

<a href="mailto:spam@hispasec.com">spam@hispasec.com</a>

3 comentarios:

  1. Faviox
    como se aplica esto .... mas detalles x favor! Gracias

    ResponderEliminar
    Respuestas
    1. Para aplicarlo solo debes de incluir la librería JavaScript Jquery:

      http://jquery.com/

      y usar el código de la entrada, como se indica.

      Eliminar
  2. Interesante post para evitar que te envíen spam.

    ResponderEliminar