Sur ma page d'accueil, j'utilise cette méthode pour masquer mes e-mails contre les robots collecteurs de mails:
<a href="admin [at] example.com"
rel="nofollow"
onclick="this.href='mailto:' + 'admin' + '@' + 'example.com'">Contact me</a>
Qu'est-ce que tu en penses? Est-ce efficace? Quelles autres méthodes connaissez-vous ou utilisez-vous?
this.href.replace(/x/g,'')
, la troisième partie codée en hexadécimal, etc. adresse e-mail.Réponses:
C'est la méthode que j'ai utilisée, avec une inclusion côté serveur, par exemple
<!--#include file="emailObfuscator.include" -->
oùemailObfuscator.include
contient les éléments suivants:Pour inclure une adresse, j'utilise JavaScript:
Étant donné que je reçois des e-mails via Gmail depuis 2005, le spam n'est pratiquement pas un problème. Je ne peux donc pas parler de l'efficacité de cette méthode. Vous voudrez peut-être lire cette étude (bien qu'elle soit ancienne) qui a produit ce graphique:
la source
emailObfuscator.include
? Ne serait-ce pas la même chose que de l'écrire en simple .html? (c'est peut-être juste un exemple?) Aussi pourquoi utilisez-vous des commentaires html<!--
-->
dans le script? Et enfin pourquoi une de vos<script>
balises est en minuscules alors que d'autres sont en majuscules<SCRIPT>
? Ces méthodes aident-elles à confondre les robots ou quelque chose?Travailler avec le contenu et attr en CSS:
Lorsque javascript est désactivé, seul l'événement de clic ne fonctionnera pas, l'e-mail est toujours affiché.
Une autre approche intéressante (au moins sans événement de clic) serait d'utiliser la marque de droite à gauche pour remplacer la direction d'écriture. plus à ce sujet: https://en.wikipedia.org/wiki/Right-to-left_mark
la source
Jetez un oeil à cette façon , assez intelligent et en utilisant CSS.
CSS
HTML
Le CSS ci-dessus remplacera alors le sens de lecture et présentera le texte à l'utilisateur dans le bon ordre.
J'espère que ça aide
À votre santé
la source
J'ai une vision complètement différente de cela. J'utilise MailHide pour cela.
MailHide est un système de Google par lequel l'utilisateur doit effectuer un test reCAPTCHA pour ensuite lui révéler l'e-mail.
la source
Pas mon idée à l'origine mais je ne trouve pas l'auteur:
Ajoutez autant de x que vous le souhaitez. Il fonctionne parfaitement pour lire, copier et coller, et ne peut pas être lu par un bot.
la source
Je pense que la seule méthode infaillible que vous pouvez avoir consiste à créer une page Contactez-moi qui est un formulaire qui se soumet à un script qui envoie à votre adresse e-mail. De cette façon, votre adresse n'est jamais exposée au public. Cela peut être indésirable pour une raison quelconque, mais je pense que c'est une assez bonne solution. Cela m'énerve souvent lorsque je suis obligé de copier / coller l'adresse e-mail d'une personne de son site vers mon client de messagerie et de lui envoyer un message; Je préfère le faire directement via un formulaire sur leur site. De plus, cette approche vous permet de recevoir des commentaires anonymes, etc. Assurez-vous simplement de protéger votre formulaire en utilisant une sorte de schéma anti-bot, comme un captcha. Il y en a beaucoup discuté ici sur SO.
la source
Voir Rendre les adresses e-mail à l'abri des robots sur une page Web?
J'aime la façon dont Facebook et les autres rendent une image de votre adresse e-mail.
J'ai également utilisé l'Enkoder dans le passé - je pensais que c'était très bon pour être honnête!
la source
Si vous avez un support php, vous pouvez faire quelque chose comme ceci:
Et le scriptname.php:
la source
Je sais que ma réponse ne plaira pas à beaucoup, mais veuillez considérer les points soulignés ici avant de baisser le pouce.
Tout élément facilement lisible par machine sera facilement lisible par machine par les spammeurs. Même si leurs actions nous semblent stupides, ce ne sont pas des gens stupides. Ils sont innovants et ingénieux. Ils n'utilisent pas seulement des bots pour collecter les e-mails, ils ont une pléthore de méthodes à leur disposition et en plus de cela, ils paient simplement pour de bonnes nouvelles listes d'e-mails. Ce que cela signifie, c'est qu'ils ont eu des milliers de hackers black-hat dans le monde pour exécuter leur travail. Des gens prêts à coder des logiciels malveillants qui grattent les écrans des navigateurs d'autres personnes, ce qui rend finalement inutile toute méthode que vous essayez de réaliser. Ce fil a déjà été lu par plus de 10 personnes et ils se moquent de nous. Certains d'entre eux peuvent même s'ennuyer jusqu'aux larmes pour découvrir que nous ne pouvons pas leur lancer un nouveau défi.
Gardez à l'esprit que vous n'essayez pas de gagner votre temps mais le temps des autres. Pour cette raison, veuillez envisager de passer du temps supplémentaire ici. Il n'y a pas de solution miracle facile à exécuter qui fonctionnerait. Si vous travaillez dans une entreprise qui publie 100 e-mails de personnes sur le site et que vous pouvez réduire 1 spam par jour et par personne, nous parlons de 36500 spams par an. Si la suppression d'un tel e-mail prend en moyenne 5 secondes, nous parlons de 50 heures de travail par an. Sans parler du montant réduit de la gêne. Alors pourquoi ne pas y consacrer quelques heures?
Ce n'est pas seulement vous et les personnes qui reçoivent l'e-mail qui considèrent le temps comme un atout. Par conséquent, vous devez trouver un moyen d'obscurcir les adresses e-mail de telle manière qu'il ne soit pas rentable de le casser. Si vous utilisez une méthode largement utilisée pour obscurcir les e-mails, cela vaut vraiment la peine de les casser. Depuis, le pirate mettra la main sur des milliers, voire des dizaines ou des centaines de milliers de nouveaux e-mails. Et pour eux, ils obtiendront de l'argent.
Alors, allez-y et codez votre propre méthode. C'est un cas rare où réinventer la roue est vraiment payant. Utilisez une méthode qui n'est pas lisible par machine et qui nécessitera de préférence une certaine interaction de l'utilisateur sans sacrifier l'expérience utilisateur.
J'ai passé environ 20 minutes à coder un exemple de ce que je veux dire. Dans l'exemple, j'ai utilisé KnockoutJS simplement parce que j'aime ça et je sais que vous ne l'utiliserez probablement pas vous-même. Mais ce n'est pas pertinent de toute façon. C'est une solution personnalisée qui n'est pas largement utilisée. Le casser ne sera pas une récompense pour le faire car la méthode de travail ne fonctionnerait que sur une seule page sur le vaste Internet.
Voici le violon: http://jsfiddle.net/hzaw6/
Le code ci-dessous n'est pas censé être un exemple de bon code. Mais juste un petit échantillon de code qui est très difficile pour la machine à comprendre que nous traitons même les e-mails ici. Et même si cela pouvait être fait, ça ne serait pas payant de s'exécuter à grande échelle.
Et oui, je sais que cela ne fonctionne pas sur IE = lte8 à cause de "Impossible d'obtenir les attributs de propriété" de référence non définie ou nulle "mais je m'en fiche simplement parce que c'est juste une démonstration de méthode, pas une implémentation réelle, et non destiné à être utilisé en production tel quel. N'hésitez pas à coder le vôtre qui est plus cool, techniquement plus solide etc.
Oh, et ne jamais nommer quelque chose de mail ou d'email en html ou javascript. Il est tout simplement trop facile de gratter le DOM et l'objet fenêtre pour tout ce qui est nommé courrier électronique ou e-mail et vérifier s'il contient quelque chose qui correspond à un e-mail. C'est pourquoi vous ne voulez jamais de variables contenant du courrier électronique dans sa forme complète et c'est aussi pourquoi vous voulez que l'utilisateur interagisse avec la page avant d'attribuer de telles variables. Si votre modèle d'objet javascript contient des adresses e-mail à l'état DOM prêt, vous les exposez aux spammeurs.
Le HTML:
Le JS
la source
L'une de mes méthodes préférées consiste à masquer l'adresse e-mail à l'aide de php, un exemple classique consiste à convertir les caractères en valeurs HEX comme suit:
Et puis dans mon balisage, je l'appellerai simplement comme suit:
Examinez ensuite votre source, vous serez agréablement surpris!
la source
Vous pouvez essayer de masquer des caractères en utilisant des entités html en hexa (ex: & # x40 pour @). C'est une solution pratique, car un navigateur correct le traduira et vous pouvez avoir un lien normal. L'inconvénient est qu'un bot peut le traduire théoriquement, mais c'est un peu inhabituel. J'utilise cela pour protéger mon e-mail sur mon blog.
Une autre solution consiste à utiliser javascript pour assembler une partie de l'adresse et décoder l'adresse à la volée. L'inconvénient est qu'un navigateur désactivé par Javascript n'affichera pas votre adresse.
La solution la plus efficace consiste à utiliser une image , mais il est difficile pour l'utilisateur d'avoir à copier l'adresse à la main.
Votre solution est assez bonne , car vous n'ajoutez qu'un inconvénient (en écrivant manuellement le @) uniquement pour les utilisateurs qui ont désactivé javascript. Vous pouvez également être plus sûr avec:
la source
Les spambots n'interpréteront pas cela, car c'est une méthode moins connue :)
Tout d'abord, définissez le css:
Maintenant, où que vous souhaitiez afficher votre e-mail, insérez simplement le code HTML suivant:
Et tada!
la source
J'utilise une combinaison très simple de CSS et jQuery qui affiche correctement l'adresse e-mail à l'utilisateur et fonctionne également lorsque l'ancre est cliquée ou survolée:
HTML:
CSS:
jQuery:
Voici un exemple de travail.
la source
! - En ajoutant ceci à titre de référence, je ne sais pas à quel point les informations peuvent être obsolètes, mais cela indique quelques solutions simples qui ne nécessitent l'utilisation d'aucun script
Après avoir cherché moi-même, je suis tombé sur cette page mais aussi sur ces pages:
http://nadeausoftware.com/articles/2007/05/stop_spammer_email_harvesters_obfuscating_email_addresses
essayez d'inverser l'adresse e-mail
Exemple de code HTML simple:
Le même effet en utilisant CSS
Combiner cela avec l'une des méthodes mentionnées précédemment peut même le rendre plus efficace
la source
Une solution simple consiste à utiliser des entités HTML au lieu de caractères réels. Par exemple, le "[email protected]" sera converti en:
la source
Voici ma version de travail:
Créez quelque part un conteneur avec un texte de secours:
Et ajoutez en bas du DOM (par rapport au rendu) l'extrait de code suivant:
Il ajoute le lien hypertexte généré au conteneur spécifié:
De plus voici une version minifiée:
la source
La meilleure méthode pour masquer les adresses e-mail n'est bonne que jusqu'à ce que le programmeur de robots découvre cet "encodage" et implémente un algorithme de décryptage.
L'option JavaScript ne fonctionnera pas longtemps, car il y a beaucoup de robots qui interprètent JavaScript.
Il n'y a pas de réponse, à mon humble avis.
la source
Il existe probablement des robots qui reconnaissent les
[at]
déguisements et d'autres comme des@
symboles. Ce n'est donc pas une méthode vraiment efficace.Bien sûr, vous pouvez utiliser certains codages comme le codage URL ou les références de caractères HTML (ou les deux):
Mais comme il est légal de les utiliser, chaque navigateur / client de messagerie doit également gérer ces encodages.
la source
Je suis un fan de SpamSpan - il est obscurci, mais toujours déchiffrable si JS est désactivé. Cela semble fonctionner aussi, bien que je ne l'utilise que depuis environ un an sur un site Web à faible trafic.
Il existe également un module pour Drupal pour transformer automatiquement les e-mails en SpamSpans, si vous en avez besoin.
la source
Est-ce que cela fonctionne si je fais un clic droit sur le lien et que je choisis "copier l'URL"? Sinon, ce n'est vraiment pas une situation idéale (je clique très rarement sur un lien mailto, préférant copier l'adresse e-mail et la coller dans mon application de messagerie ou partout où j'en ai besoin à un moment précis).
Auparavant, j'étais assez paranoïaque pour protéger mon adresse e-mail en ligne (UseNet, Web et autres), mais ces jours-ci, je soupçonne que davantage de "cibles potentielles pour le spam" sont en fait générées en faisant correspondre les parties locales aux domaines par programme. Je base cela sur avoir, à l'occasion, parcouru les journaux de mon serveur de messagerie. Il y a généralement quelques tentatives de livraison vers des adresses inexistantes (y compris des versions tronquées d'appâts indésirables que j'ai suspendus sur UseNet à la fin des années 90, lorsque le grattage d'adresses était très répandu).
la source
après avoir utilisé tant de techniques j'ai trouvé un moyen simple et très convivial, les bots recherchent @ Símbolo et récemment ils recherchent [at] ant c'est une variation donc j'utilise 2 techniques
et l'image alt sera alt = "@" donc le bot trouvera une image et n'importe quel humain la verra comme une adresse normale donc s'il la copie il copiera l'email et le travail est don donc le code sera
la source
Il existe un script PHP sous licence ouverte qui génère du javascript qui code le courrier: http://www.maurits.vdschee.nl/php_hide_email/ . Vous pouvez ensuite facilement appeler la fonction php avec le courrier spécifique comme argument.
la source
Je voudrais d'abord m'assurer que l'adresse e-mail ne s'affiche que lorsque vous avez activé javascript. De cette façon, aucun texte brut ne peut être lu sans javascript.
Deuxièmement, un moyen de mettre en œuvre une fonctionnalité sûre est de rester loin de la
<button>
balise. Cette balise nécessite une insertion de texte entre les balises, ce qui la rend lisible par ordinateur. Essayez plutôt<input type="button">
avec un gestionnaire javascript pour un onClick. Utilisez ensuite toutes les techniques mentionnées par otherse pour implémenter une notation de messagerie sécurisée.Une autre option consiste à avoir un bouton avec "Cliquez pour voir l'adresse e-mail". Une fois cliqué, cela se transforme en un e-mail codé (les caractères des codes HTML). Sur un autre clic, cela redirige vers la fonction «mailto: email»
Une version non codée de la dernière idée, avec des adresses e-mail sélectionnables et non sélectionnables:
Voyez si c'est quelque chose que vous souhaitez et combinez-le avec les idées des autres. Vous ne pouvez jamais être trop sûr.
la source
Et ma fonction. Je l'ai créé en regardant les réponses placées dans ce sujet.
Il utilise deux méthodes: le dir de droite à gauche et le javascript.
la source
Option 1: divisez l'adresse e-mail en plusieurs parties et créez un tableau en JavaScript à partir de ces parties. Joignez ensuite ces pièces dans le bon ordre et utilisez la propriété .innerHTML pour ajouter l'adresse e-mail à la page Web.
Option 2: utiliser l'image au lieu du texte de l'e-mail
Site Web du créateur d'images à partir du texte: http://www.chxo.com/labelgen/
Option 3: nous pouvons utiliser AT au lieu de "@" et DOT au lieu de "."
c'est à dire :
la source
Je n'aime pas que JavaScript et HTML soient mélangés, c'est pourquoi j'utilise cette solution. Cela fonctionne bien pour moi, pour l'instant.
Idée : vous pourriez le rendre plus compliqué en fournissant des informations chiffrées dans les
data
attributs et les déchiffrer dans le JS. Cela se fait simplement en remplaçant les lettres ou en les inversant simplement.HTML :
JS :
Essayez-le: http://jsfiddle.net/x6g9L817/
la source
qu'en est-il de HTML_CHARACTER?:
les sorties
la source
Voici une solution jquery simple à ce problème:
la source
Je préfère la réponse d'Ofaurax, mais je modifierais cela pour un e-mail un peu plus caché:
la source
Je dois juste fournir une autre réponse. Je viens de trouver quelque chose d'amusant à jouer.
J'ai découvert que dans de nombreuses tables de caractères courantes, les lettres @ et az réapparaissent plus d'une fois. Vous pouvez mapper les caractères originaux aux nouveaux mappages et rendre plus difficile pour les robots de spam de comprendre ce qu'est l'e-mail.
Si vous parcourez la chaîne et obtenez le code de caractère d'une lettre, puis ajoutez-y 65248 et créez une entité html en fonction du numéro, vous obtenez une adresse e-mail lisible par l'homme.
Voici un violon qui fonctionne: http://jsfiddle.net/EhtSC/8/
Vous pouvez améliorer cette approche en créant un ensemble plus complet de mappages entre des caractères qui se ressemblent. Mais si vous copiez / collez l'e-mail dans le bloc-notes, par exemple, vous obtenez beaucoup de boîtes.
Pour surmonter certains problèmes liés à l'expérience utilisateur, j'ai créé l'e-mail sous forme de lien. Lorsque vous cliquez dessus, il remappe les caractères à leurs originaux.
Pour améliorer cela, vous pouvez créer des mappages de caractères plus complexes si vous le souhaitez. Si vous pouvez trouver plusieurs caractères qui peuvent être utilisés par exemple à la place de «a», pourquoi ne pas les mapper au hasard.
Ce n'est probablement pas l'approche la plus sûre de tous les temps, mais je me suis vraiment amusé à jouer avec: D
la source