2009-04-08 22 views
5

Sí, me doy cuenta de que esta pregunta fue hecha y respondida, pero tengo preguntas específicas sobre esto que siento que no estaban claras en ese hilo y preferiría no perderme en la confusión en otro hilo también .Pregunta de ofuscación por correo electrónico

Los hilos anteriores decían que traducir la dirección de correo electrónico a una imagen como lo hace Facebook es una experiencia de usuario exagerada y poco profesional para sitios web empresariales/profesionales. Y parece que el consenso general es utilizar una solución JavaScript document.write utilizando entidades html o algún otro método que rompa y/o haga que la cadena sea ilegible por un bot simple. La aplicación que estoy creando ni siquiera necesita la funcionalidad "mailto:", solo necesito mostrar la dirección de correo electrónico. Además, esta es una aplicación web de negocios, por lo que debe verse/actuar lo más profesionalmente posible. Aquí están mis preguntas:

  1. Si voy a la ruta y paso document.write la versión HTML de cada entidad de carácter, ¿no hay rastreadores web lo suficientemente sofisticados para ejecutar el código JavaScript y tire del texto representado de todos modos? ¿O esto se considera la mejor práctica y es completamente (o casi completamente) a prueba de spammers?

  2. ¿Qué tiene de falta de profesionalidad la solución de imagen? Si Facebook es una de las aplicaciones de mayor tráfico en el mundo y no está dirigida en absoluto por aficionados, ¿por qué su método se descarta por completo en el otro hilo sobre este tema?

  3. Si su respuesta (como en el otro hilo) es no molestarme con este problema y dejar que los filtros de spam de los usuarios hagan todo el trabajo, explique por qué se siente de esta manera. Estamos mostrando las direcciones de correo electrónico de nuestros usuarios que nos han proporcionado, y me siento responsable de protegerlos tanto como pueda. Si siente que esto no es necesario, explique por qué.

Thanks.

Respuesta

4
  1. no es una prueba spammer. Si alguien mira el código de su sitio y det Aplica el patrón que está utilizando para sus direcciones de correo electrónico, luego se puede escribir un código específico para intentar descifrarlo.

  2. No sé si diría que no es profesional, pero evita la funcionalidad de copiar y pegar, que es bastante importante. Con las imágenes, simplemente no obtienes esa funcionalidad. ¿Qué sucede si quiere copiar una dirección de correo electrónico relativamente compleja en su libreta de direcciones en Outlook? Tienes que recurrir a escribirlo, que es propenso a error.

  3. Transferir la responsabilidad a los filtros de correo basura del usuario es realmente una respuesta deficiente. Si bien creo que los usuarios deben ser diligentes en la protección contra el correo no deseado, eso no exime a la persona que publica la dirección de la responsabilidad.

Para eso, intentar hacer esto de una manera absolutamente segura es casi imposible. La única forma de hacerlo es tener un secreto compartido que el código use para descifrar la dirección de correo electrónico codificada. El problema con esto es que debido a que el javascript se interpreta en el lado del cliente, no hay nada que se pueda ocultar a los raspadores.

Actualmente, los codificadores de direcciones de correo electrónico funcionan porque la mayoría de los cosechadores de bots de correo electrónico no se preocupan por la codificación específica para cada sitio. Intentarán tener un algoritmo mínimo que obtenga los máximos resultados (de lo contrario, la recompensa no vale la pena). Debido a esto, los codificadores simples derrotarán a la mayoría de los bots. Pero si alguien REALMENTE desea acceder a los correos electrónicos en su sitio, entonces pueden y probablemente también lo hagan fácilmente, ya que el código que escribe las direcciones está disponible públicamente.

Teniendo todo esto en consideración, tiene sentido que Facebook fuera la ruta de la imagen. Debido a que pueden alterar la imagen para que el OCR sea casi imposible, pueden garantizar virtualmente que las direcciones de correo electrónico no se cosechen. Dado que probablemente sean uno de los repositorios de direcciones de correo electrónico más grandes del mundo, podría argumentarse que soportan una carga más pesada que cualquiera de nosotros y, aunque son inconvenientes, se ven obligados a garantizar la seguridad y la privacidad de su vasta base de usuarios. .

+0

Great points. Este sitio no se parece en nada a FB, así que no necesito ser tan seguro. Estoy de acuerdo con el OCR, probablemente alteren el img ligeramente cada vez, lo que haría que el OCR sea casi imposible. Probablemente haga una solución JS que use ambas entidades y un cifrado autogenerado único para cada solicitud. – Rich

4

Algunas razones, por ahora, Javascript es una buena solución (que puede cambiar a medida que el paisaje evoluciona).

  • Javascript ofuscación es una mejor trampa para ratones por ahora
  • Sólo tiene que correr más rápido que los demás. Siempre y cuando haya poca fruta colgando, los creadores de correo no deseado irán por ellos. Entonces, a menos que todos comiencen a usar javascript, está bien por ahora al menos
  • la mayoría de los spammers usan scripts basados ​​en http que GET y analizan usando regex. utilizando un motor de javascript para analizar es ciertamente posible, pero va a ralentizar las cosas

En cuanto a la solución de facebook, yo no lo considero poco profesional, pero puedo ver claramente por qué los puristas pueden estar en desacuerdo.

  • Se rompe las normas de accesibilidad (no puede ser analizado por los navegadores, lectores de voz o se hace clic.
  • Rompe construcción semántica (que es una imagen, no un enlace mailto más)
  • Se rompe la capa de presentación. Si aumenta el navegador tamaño de fuente predeterminado o utilizar de alto contraste CSS personalizado, no se aplicará al correo electrónico.
Cuestiones relacionadas