language-agnostic obfuscation email-address

language agnostic - ¿La ofuscación del correo electrónico hace que la recolección automática sea más difícil?



language-agnostic obfuscation (12)

Muchos usuarios y programas de foros intentan hacer que la dirección automática de correo electrónico sea más difícil de protegerlos mediante ofuscación: @ se reemplaza con "at" y. se sustituye por "punto", por lo que

[email protected]

ahora se convierte

team at stackoverflow dot com

No soy un experto en expresiones regulares y tengo mucha curiosidad: ¿tal ofuscación realmente dificulta la recolección automática? ¿Es realmente mucho más difícil identificar automáticamente estas direcciones confusas?


¡Seguro!

Leí este artículo hace un tiempo, que muestra cuán efectivos (así como el grado relativo) pueden ser los diversos métodos. Revertir una cadena ya invertida parece ser una protección bastante decente en este momento.

El siguiente ejemplo de código:

<style type="text/css"> span.codedirection { unicode-bidi:bidi-override; direction: rtl; } </style> <p><span class="codedirection">moc.etalllit@7raboofnavlis</span></p>

Saldrá el correo electrónico por lo que es legible al menos.

Dicho esto, es casi una carrera de armamentos. Pero mientras esté al frente de la curva, será más un esfuerzo recopilar su dirección en lugar de las ordinarias no confusas.


¿Cómo luchar contra los spamers? Hacer que la dirección de correo electrónico sea menos reconocible para algo sin cerebro (es decir, computadora).

Sus hablantes no ingleses son sus amigos: si su base de usuarios no es la comunidad de habla inglesa, cambie a ofuscación usando otros idiomas: team_małpa_stackoverlow_kropka_com o team_Affenschwanz__Punkt_com son direcciones de correo electrónico perfectamente reconocibles para las comunidades de habla polaca y alemana respectivamente. Algunos recolectores de correo electrónico saben polaco o alemán, pero es posible que la mayoría de los recolectores entiendan solo el inglés.

Si no puede dejar el inglés, cambie a algunas frases descriptivas, como: “para enviarnos un mensaje, escriba el equipo en su campo de dirección, luego coloque el símbolo AT, ¡luego escriba el nombre de nuestro sitio!”.


Cuando veo este tipo de ofuscación, también pienso inmediatamente en expresiones regulares. Es un pedazo de pastel para cosechar correos electrónicos "ofuscados" de esta manera.

Una vez vine con la idea de publicar mi dirección de correo electrónico de esta manera:

Puedes enviarme un correo aquí:

string myEmail = ""; myEmail = myEmail .Append ("myname") .Append ("@") .Append ("domain") .Append (".") .Append ("com");

Quien no lo haga, ha fallado mi prueba de inteligencia básica.


Es análogo a poner un adhesivo "protegido por ADT" en la puerta de su casa.

¿Eso evitará que un ladrón con talento entre a tu casa? Por supuesto no.

¿Hará de la casa de al lado una puerta desbloqueada y un iPod en la ventana un objetivo más convincente? Bastante probable

Un simple raspador de correo electrónico no ofuscado obtendrá TONELADAS de correos electrónicos como están. Tal vez una expresión regular muy simple para recoger métodos de ofuscación muy comunes valga el esfuerzo. Más allá de eso, pasas mucho tiempo tratando de descifrar un porcentaje cada vez más pequeño de correos electrónicos.

Todo lo que hay que decir, tener alguna ofuscación inteligente probablemente valga la pena.

Para el registro, mi correo electrónico ha estado en mi currículum público en texto sin formato durante años, porque uso gmail, que tiene un filtro de correo no deseado que funciona .


Las técnicas de ofuscación caen en la misma categoría que los captchas. No son confiables y tienden a lastimar a los usuarios regulares más que a los robots.

La ofuscación de Javascript parece ser elogiada, pero no es una bala de plata: hoy en día no es tan difícil automatizar un navegador para detectar correos electrónicos. Si puede mostrarse en un navegador, puede ser cosechado. Incluso podría imaginar un bot que está tomando capturas de pantalla de una ventana del navegador y usando OCR para extraer direcciones y vencer su técnica de ofuscación de un millón de dólares.

Dependiendo de dónde y por qué quieres ofuscar correos electrónicos, esas técnicas podrían ser útiles:

  • Restrinja la visibilidad del correo electrónico : puede ocultar correos electrónicos en su sitio web / foro a usuarios anónimos, a usuarios nuevos (con poca o ninguna actividad o publicaciones hasta la fecha) o incluso ocultarlos completamente y reemplazar el contacto de correo electrónico entre los miembros con una función de mensajería privada incorporada .

  • Utilice un correo electrónico filtrado de spam dedicado : recibirá spam, pero se limitará a esta dirección en particular. Esta es una buena compensación cuando necesita exponer la dirección de correo electrónico a cualquier usuario.

  • Use un formulario de contacto : mientras que los robots son muy buenos para rellenar formularios, resulta que son demasiado buenos para rellenar formularios. Las técnicas de campo oculto pueden filtrar la mayoría del spam que llega a través de su formulario de contacto .


Lo hace más difícil hasta cierto punto, pero los simples utilizados por los usuarios incluso hoy en día (el [dot] y [at] ) son obsoletos y se pueden capturar fácilmente usando una expresión regular simple por los spammers.

Usar algo tan simple como una imagen sería útil y legible para el lector humano intencional sin esfuerzo para "descifrar" la identificación del correo electrónico codificado.

Email de contacto:

Si todavía estás paranoico con los robots de spam equipados con reconocimiento de caracteres, algo como esto sería efectivo.

Utiliza la ilusión óptica como una ventaja para completar las letras en la mente humana que no pueden ser entendidas fácilmente por la visión de computadora. La aplicación de una capa similar a CAPCHA también puede ayudar, pero dudo que tengas que llegar tan lejos.


Lo hace más difícil, pero hay tantos raspadores realmente inteligentes que probablemente no ayuden mucho, ya que los grandes spammers están utilizando las herramientas de spam de alta calidad.


Me preguntaba por qué nadie mencionó la solución de ALAs hasta ahora.

Roel Van Gils escribió un artículo sobre Ofuscación de correo electrónico elegante en 2007

La ofuscación de correo electrónico elegante es simplemente una técnica de ofuscación de correo electrónico de JavaScript con un formulario de contacto alternativo .

  1. Las direcciones de correo electrónico están ofuscadas al convertirlas en una dirección URL a un formulario de contacto y aplicar una transformación ROT13.
  2. mailto:[email protected]contact/mail+example+comcontact/znvy+rknzcyr+pbz
  3. A través de javascript contact/znvy+rknzcyr+pbz se vuelve a convertir en mailto:[email protected]
  4. Si no hay javascript disponible, el navegador abrirá contact/znvy+rknzcyr+pbz como una alternativa. El formulario de contacto sabrá dónde enviar el correo electrónico debido a la url.

http://www.alistapart.com/articles/gracefulemailobfuscation/


No estoy seguro de si realmente ayuda con el spam, pero he aprendido a amar la ofuscación de Escape Encode por correo a: etiquetas / correos electrónicos. Una etiqueta de ejemplo:

<a href="%6D%61%69%6C%74%6F%3A%74%65%61%6D%40%73%74%61%63%6B%6F%76%65%72%66%6C%6F%77%2E%63%6F%6D">&#116;&#101;&#97;&#109;&#64;&#115;&#116;&#97;&#99;&#107;&#111;&#118;&#101;&#114;&#102;&#108;&#111;&#119;&#46;&#99;&#111;&#109;</a>

Correos [email protected]


Para proporcionar una respuesta literal, sí, la recolección de direcciones ofuscadas es más difícil que la recolección de direcciones estandarizadas. La pregunta real es si el esfuerzo adicional será puesto en manos de los recolectores y si la barrera (mayor? ¿Menor?) Para los recolectores vale los posibles problemas para sus usuarios.

Si va a codificar direcciones o, de lo contrario, las transpondrá del formulario estándar, debe evitar ser coherente en la forma en que lo hace, al menos en el mismo sitio.

Por ejemplo, si cada dirección de correo electrónico en un sitio de comunidad grande se invierte en el marcado y se procesa correctamente con CSS, o se reemplaza un token (@ se convierte en ''en''), o cualquier otro método predecible, los recolectores simplemente escribirán un adaptador delgado para Tú sitio.

Piénselo de esta manera: si solo le lleva una línea de código para "revolverlos" en todo el sitio, solo le tomará al recolector una línea de código para "descifrarlos" para su sitio. Mas o menos.

En mi opinión, el spam se ha convertido en un problema y se han entregado tantas bases de datos que estamos más allá de ocultar nuestras direcciones. En su lugar, considere buscar en Defensio y Akismet, etc., para ayudar a clasificar y bloquear el spam.


Será difícil para los spammers y sus usuarios identificar la dirección de correo electrónico.

Un buen artículo de wikipedia sobre ofuscación de correo electrónico o munging de direcciones

Una forma común de ocultar el correo electrónico de bots y spammers es crear una imagen que contenga la dirección de correo electrónico. Facebook hace esto, por ejemplo. Ahora, el uso de imágenes para el correo electrónico es inherentemente malo para la accesibilidad, porque los lectores de texto no podrán leerlo. Pero incluso de lo contrario, hay varios programas gratuitos de reconocimiento de caracteres que hacen bastante bien la decodificación de tales imágenes de correo electrónico.

Desde here


Tengo una solución, bueno, más de una teoría. El problema es que los bots analizan la página. Ellos pueden obtener el texto. incluso si se está poniendo en la página de una manera sofisticada a través de Javascript.

Así que, solo tu pseudo elemento CSS3 ! no será un enlace, pero su correo electrónico será visible y nunca será un texto real. algo como esto:

.email::after{ content:''[email protected]''; }

Una vez más, es una teoría, no tengo idea de hasta dónde pueden llegar estas personas malvadas para lograrlo, pero creo que esto es bastante seguro. (A menos que analicen los archivos CSS, que no creo que lo hagan)