2009-04-08 16 views
5

Oui, je me rends compte que cette question a été posée et répondue, mais j'ai des questions spécifiques à ce sujet que je sens pas claires sur ce fil et je préfère ne pas me perdre dans le shuffle sur un autre fil .Email obfuscation question

Les discussions précédentes indiquaient que le rendu de l'adresse e-mail à une image comme le fait Facebook est une expérience utilisateur excessive et non professionnelle pour les sites professionnels/professionnels. Et il semble que le consensus général est d'utiliser une solution document.write JavaScript en utilisant des entités html ou une autre méthode qui se décompose et/ou rend la chaîne illisible par un bot simple. L'application que je construis n'a même pas besoin de la fonctionnalité "mailto:", j'ai juste besoin d'afficher l'adresse email. En outre, il s'agit d'une application Web d'entreprise, il doit donc regarder/agir aussi professionnel que possible. Voici mes questions:

  1. Si je la voie document.write et passer la version entité HTML de chaque caractère, sont pas robots d'exploration web assez sophistiqués là pour exécuter le javascript et tirez le texte rendu de toute façon? Ou est-ce considéré comme la meilleure pratique et complètement (ou presque complètement) la preuve de spammeur?

  2. Qu'y a-t-il de si peu professionnel dans la solution d'image? Si Facebook est l'une des applications les plus vendues au monde et pas du tout gérée par des amateurs, pourquoi leur méthode est-elle complètement rejetée dans l'autre fil à propos de ce sujet? Si votre réponse (comme dans l'autre thread) est de ne pas déranger avec ce problème et laisser les filtres anti-spam des utilisateurs faire tout le travail, s'il vous plaît expliquer pourquoi vous vous sentez comme ça. Nous affichons les adresses e-mail de nos utilisateurs qu'ils nous ont donnés, et je me sens responsable de les protéger autant que possible. Si vous pensez que cela n'est pas nécessaire, veuillez expliquer pourquoi.

Merci.

Répondre

4
  1. il est pas une preuve spammeur. Si quelqu'un regarde le code de votre site et det hermines le modèle que vous utilisez pour vos adresses e-mail, puis le code spécifique peut être écrit pour essayer de déchiffrer cela.Je ne sais pas si je dirais que ce n'est pas professionnel, mais cela empêche la fonctionnalité copier-coller, ce qui est assez important. Avec les images, vous n'avez tout simplement pas cette fonctionnalité. Que faire si vous souhaitez copier une adresse e-mail relativement complexe dans votre carnet d'adresses dans Outlook? Vous devez recourir à taper sur ce qui est sujette à l'erreur. Déplacer la responsabilité vers les filtres anti-spam des utilisateurs est vraiment une mauvaise réponse. Bien que je pense que les utilisateurs doivent être vigilants pour se prémunir contre le spam, cela ne dispense pas la responsabilité de la publication de l'adresse.

À cette fin, en essayant de le faire d'une manière complètement sécurisée est presque impossible. La seule façon de le faire est d'avoir un secret partagé que le code utilise pour déchiffrer l'adresse e-mail encodée. Le problème avec ceci est que parce que le javascript est interprété du côté du client, il n'y a rien que vous puissiez garder un secret des scrapers.

De nos jours, les encodeurs pour les adresses e-mail fonctionnent généralement car la plupart des moissonneurs de courrier électronique ne se préoccuperont pas du codage spécifique à chaque site. Ils vont essayer d'avoir un algorithme minimal qui obtiendra le maximum de résultats (le gain n'en vaut pas la peine autrement). Pour cette raison, les encodeurs simples vont vaincre la plupart des robots. Mais si quelqu'un veut VRAIMENT obtenir les courriels sur votre site, alors ils peuvent et probablement facilement aussi, puisque le code qui écrit les adresses est publiquement disponible.

Compte tenu de tout cela, il est logique que Facebook soit passé par la route de l'image. Parce qu'ils peuvent modifier l'image pour rendre l'OCR pratiquement impossible, ils peuvent pratiquement garantir que les adresses e-mail ne seront pas récoltées. Étant donné qu'ils sont probablement l'un des plus grands dépôts d'adresses de courrier électronique au monde, on pourrait soutenir qu'ils sont plus lourds que n'importe lequel d'entre nous et qu'ils sont contraints d'emprunter cette route pour assurer la sécurité et la confidentialité de leur vaste base d'utilisateurs. .

+0

Points forts. Ce site n'a rien à voir avec FB, donc je n'ai pas besoin d'être aussi sûr. Je suis d'accord sur l'OCR, ils modifient probablement légèrement le img chaque fois ce qui rendrait la reconnaissance optique de caractères presque impossible. Je ferai probablement une solution JS qui utilise les deux entités et un chiffrement autogénéré unique pour chaque requête. – Rich

4

Un bon nombre de raisons Javascript est une bonne solution pour l'instant (qui peut changer à mesure que le paysage évolue).

  • Javascript obscurcissement est un meilleur piège à souris pour l'instant
  • Vous avez juste besoin de courir plus vite que les autres. Tant qu'il y a des fruits bas suspendus, les spammeurs iront pour ceux-là. Donc, à moins que tout le monde commence à passer à javascript, vous êtes d'accord pour le moment
  • la plupart des spammeurs utilisent des scripts basés sur HTTP qui GET et analyser en utilisant regex. en utilisant un moteur javascript pour analyser est certainement possible mais ralentira les choses

En ce qui concerne la solution facebook, je ne considère pas cela non professionnel, mais je peux voir clairement pourquoi les puristes peuvent être en désaccord.

  • Il brise les normes d'accessibilité (ne peut pas être analysé par les navigateurs, lecteurs vocaux ou être cliqué.
  • Il casse construction sémantique (c'est une image, pas un lien mailto plus)
  • Il brise la couche de présentation. Si vous augmentez la taille de la police par défaut du navigateur ou utilisez CSS personnalisé de contraste élevé, il ne sera pas applicable à l'e-mail.