2009-03-30 11 views
10

Estoy tratando de encontrar un ofuscador de correo JavaScript para reducir la posibilidad de spam en los correos electrónicos que aparecen en un sitio web. En este momento tengo un ofuscador basado en JavaScript que usa una combinación de código HTML & JavaScript para convertir un correo ofuscado en un correo electrónico normal de forma transparente.¿Buen ofuscador de correo electrónico no invasivo y antispam?

Lo que hago es la siguiente:

Formato del "mailto:" parte del href en los enlaces que se HTML codificado como:

mailto: 

también puedo codificar el correo electrónico, en sustitución de la señal @ con (a), por lo que el correo electrónico se lee algo así como:

stackoverflow(a)example.com 

que luego usar algo de JavaScript para descifrar todos los enlaces mailto que tienen esta (a) ingrese el correo electrónico y conviértalos a @ en la carga de la página.

Esto funciona bastante bien. Para las personas que usan navegadores con JavaScript habilitado, ven que todo funciona normalmente. Para las personas sin JavaScript habilitado, todos los clientes de correo que conozco considerarían que la dirección de correo electrónico no es válida, sin embargo, el usuario debería poder inferir lo que se necesita para corregir el símbolo.

Me preguntaba si había alguna forma mejor (menos intrusiva (o en el mejor de los casos, no muy intrusiva) pero más resistente a los correos no deseados) de difuminar los correos electrónicos en una página web.

Al igual que con cualquier tipo de ofuscación, si un ser humano o una computadora pueden fácilmente ofuscarlo, entonces un spammer podría hacer lo mismo. Debido a esto, no esperaba una ofuscación infalible, sin embargo, tenía curiosidad por ver qué otras sugerencias había por ahí. La búsqueda en Google no reveló ninguna solución que considere mejor que mi solución actual. Me preguntaba si había otras buenas alternativas.

+0

Cuidado volver a visitar esta página Dan y marcar una respuesta como aceptada? La respuesta de Scott funcionó para mí. – Gray

Respuesta

0

Una forma de confundir el correo electrónico de una computadora sería escribir el correo electrónico como una imagen y no como texto. De esta manera, todavía es fácil para un humano leer la dirección de correo electrónico y bastante difícil para una computadora.

Según lo declarado por Steve Gilham no es tan difícil recibir el correo electrónico con OCR. Y los navegadores solo de texto no los admiten. Por lo tanto, la solución de Scott es probablemente la mejor solución.

7

He usado HiveLogic Enkoder en el pasado con bastante éxito. En todo caso, es posible que desee ver cómo funciona la codificación de Dan, ya que podría darle algunas ideas para hacer un ofuscador aún más robusto.

1

Si Realmente quiero proteger las direcciones de correo electrónico, no habrá otra manera que generar imágenes para usuarios que no sean de JavaScript.
Solía ​​usar algo como esto:

<script type="text/javascript"> 
//<![CDATA[ 
    scrambler('[email protected]||mo'); 
//]]> 
</script> 
<noscript> 
    <img src="[email protected]||mo" alt="Emailadresse" /> 
</noscript> 

scramble es una muy simple función de JavaScript, lo que pienso podría fácilmente averiguar lo que hace. (Esto dará como resultado: <a href="mailto:[email protected]">[email protected]</a>) scrambler.php es el mismo, excepto en php y un backend gd para generar imágenes.

Imagine algo que no se trata de algunos cambios de codificación o de reemplazar algo por otra cosa.

EDIT: Aquí es mi algo:

function scrambler (text) { 
    parts = text.split("||"); 
    var reverse = function (s) { 
    var ret =''; 
    for (var i=s.length-1;i>=0;i--) 
     ret+=s.charAt(i); 
    return ret; 
    } 
    text = reverse(parts[0])+reverse(parts[1]); 
    document.write(text); 
} 
Cuestiones relacionadas