Contenido

9 formas de ofuscar emails a prueba

28 Dic

+ 15

Poner email en texto plano en una página puede llegar a ser un verdadero problema, ya que hay bots que escanean nuestras páginas buscándolas y almacenándolas junto a otras para posteriormente usarlas para enviar SPAM a esas cuentas. Evitar esto no siempre es sencillo, ya que muchos pueden permitirse el lujo de eliminar los emails, otros necesitan ponerlos visibles al público. Por eso, los desarrolladores encuentran formas ingeniosas para sortear este obstáculo.

¿Pero cuanto de efectivo tiene cada una de las formas posibles?

obfuscation_methods
(Ver Imagen)

Como vemos en la imagen, técnicas como construir la dirección con Javascript o introducir comentarios entre los tags no solucionan el problema aunque lo minimizan. Según las pruebas que Tillate.com realizó hace ya más de 1 año, estas son las 3 formas más seguras de usar emails en nuestras páginas.

Cambiar la dirección mediante CSS

Para esta ténica basamos nuestra protección en la propiedad direction del CSS que nos permite especificar la dirección del texto que el usuario verá, como los bots no suelen interpretar el CSS verán el texto en el formato original.

<span>moc.olpmeje@liame</span>
// CSS
span.direction {
 direction:rtl;
 unicode-bidi:bidi-override;
}

Usando display:none de CSS

Otra alternativa, tambien pasando por CSS sería la usar display:none, para colar un texto en nuestra dirección ocultándolo al usuario. De esta forma el email encontrado por el bot no será válido.

<style type="text/css">
  p span.displaynone { display:none; }
</style>
<p>silvanfoobar8@<span class=”displaynone”>null</span>tilllate.com</p>

Encriptación ROT13

Usando el método de encriptación ROT13 y mediante Javascript desencriptamos la dirección y se la mostramos al usuario. Previamente debemos haber encriptado la dirección con alguna herramienta de encriptación (por ejemplo esta) o rotarla directamente desde PHP con str_rot13().

<script type="text/javascript">
document.write("<n uers=\"znvygb:fvyinasbbone10@gvyyyngr.pbz\" ery=\"absbyybj\">".replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);}));
</script>silvanfoobar’s Mail</a>

Es cuestión de tiempo que los bots, cada vez más inteligentes, puedan con ellas, pero por el momento es lo mejor que tenemos sin tener que reccurrir a incluir una imágen con nuestro email (que también es muy efectivo). Las 3 técnicas afectarán a la accesibilidad de la página.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.