borrame.com - Colección particular de recortes de código y documentación para programación web

Lo más fresco

  1. LPAD en SQL Server Nuevo
  2. Eliminar todos los objetos en SQL Server Modificado
  3. Dominio principal Nuevo
  4. Eliminar formato en Excel Nuevo

Sugerencias del chef

Lo más visitado

  1. Dar formato a un número
  2. Campo autonumérico
  3. Fecha y hora
  4. Cookies
  5. Convertir IP entre cadena y número

mailto: contra spammers

Indicar una dirección de correo en una web se ha convertido en actividad de riesgo gracias a la incansable actividad de múltiples bots que las recopilan para vendérselas a spammers irredentos, sumados a los virus que las extraen de la caché del navegador. La solución habitual es utilizar una imagen o disimular la dirección de forma que un humano pueda reconstruirla pero un programa no. La solución que propongo yo se diferencia en que sólo molesta al spammer.

/*
 * Construye un URL de tipo mailto a prueba de robots cazadirecciones
 * y redirige a él para que se abra el cliente de correo
 *
 * Argumentos:
 *     string dirección - Con # en lugar de @
 *     string asunto (opcional)
 *     string cuerpo (opcional)
 *
 * Ejemplo:
 *     <a href="javascript:correo('webmaster#demogracia.com', 'Prueba de asunto', 'Cuerpo del mensaje')">Escribir</a>
 *
 */

function correo(direccion, asunto, cuerpo){ // v2005-03-14
    var url="mailto:"+direccion.replace(/#/, '@');

    if(asunto){
        url+="?subject="+escape(asunto);
    }
    if(cuerpo){
        url+="&body="+escape(cuerpo);
    }
    window.location=url;
}

Esta función no es a prueba de bombas por motivos que no se le escaparán a ningún lector inteligente. Pero funcionará mientras no la utilicemos en un gestor de contenidos que vayan a usar tantas personas como para merecer la atención de un creador de bots. Por supuesto, lo ideal sería tomarla como punto de partida para versiones más elaboradas.

Teóricamente es malo añadir argumentos a un URL de tipo mailto: pero no creo que hagan daño a nadie: en el peor de los casos simplemente se perderán, como lágrimas en la lluvia.

Sugerencias:

Esta página ha sido impresa el miércoles 10 de marzo de 2010 (22:19:08 +0100) desde http://borrame.com/recortes/javascript/mailto.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

borrame.com es el sitio anteriormente conocido como bits.demogracia.com (no confundir con Demogracia, que sólo pasaba por ahí).

© 2005-2010 by Álvaro G. Vicario (alvaro.es) • Burgos (España) • borrame.com