Utilizar jQuery para proteger las direcciones de correo

4 COMENTARIOS -  Publicado hace 13 meses -  Clasificado en: ,

Un método que puede ayudar a combatir el SPAM es publicar las cuentas de correo de forma "ofuscada" o encubierta. De este modo, los robots que recurren las webs en busca de direcciones de correo electrónico lo tendrán más difícil. Con el método explicado a continuación en el código fuente de la página en vez de aparecer:

mailto:midireccion@servidor.com

aparecería algo como

#C#midireccion#NOSPAM#servidor#P#com

El proceso es sencillo, consiste en escribir nuestra dirección de correo de forma ofuscada, utilizando unos patrones que posteriormente con jQuery sustituiremos para restablecer el enlace y que de esta forma funcione correctamente. Podemos poner los patrones que deseemos; siempre teniendo en mente que se parezca lo menos posible a una dirección de correo. Para saber donde tenemos que reescribir utilizamos una clase.

El ejemplo sería:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script>
$(document).ready(function(){
$('.dir_mail').each(function(){
$('.dir_mail').attr('href','mailto:' + $('.dir_mail').attr('href').replace('#NOSPAM#','@').replace('#C#','').replace('#P#','.'));
});
});
</script>
</head>
<body>
<a href="#C#midireccion#NOSPAM#servidor#P#com" class="dir_mail">MiCorreo</a>
</body>
</html>

Ver ejemplo en funcionamiento » »

Algunas entradas relacionadas:

También te puede interesar:

COMENTARIOS

Publicado hace 13 meses
más que HTML -  
Curiosamente hace un par de días hice un script similar. La idea fue convertir algo como:

hola(ARROBA)dominio.com

en:

hola@dominio.com

Tiene la ventaja de que si un usuario no tiene javascript activado encuentra un enlace más "legible".

El código no tiene nada, son 3 simples líneas:

var texto = $("a.email").text();
var enlace = texto.substr(0, texto.indexOf("(")) + "@" + texto.substr(texto.indexOf(")")+1); // Lo convertimos en una dirección de email
$("a.email").attr("href", "mailto:"+enlace).text(enlace);
Publicado hace 13 meses
más que HTML -  
Se me olvidaba, también puedes usar directamente un plugin de jQuery llamado Email defuscator, que hace prácticamente lo mismo.
Publicado hace 13 meses
Francisco -   http://www.webintenta.com

Muy útil. Gracias.
Publicado hace 11 meses
@memo_alo -   http://memoalo.blogspot.com

Muy interesante sabes de alguna herramienta para recopilar las direcciones, de mis mensajes entrantes?
Publicado hace 8 meses
Oscar -   http://www.portalnea.com.ar

El ejemplo utilizado me daba un error cuando lo aplico a más de un enlace en la misma página..

lo solucioné con el ste. código:

$(document).ready(function(){
$('.dir_mail').each(function(){
$('.dir_mail').attr('href','' + $('.dir_mail').attr('href').replace('#NOSPAM#','@').replace('#C#','mailto:').replace('#P#','.'));
});
});

fijense que borré el primer 'mailto:' y lo puse más adelante
Haz un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com