Meilleur moyen de dissimuler un e-mail sur un site web?
J'ai passé les derniers jours à travailler sur la mise à jour de mon site personnel. L'URL de mon site (mon prénom).(mon nom de famille).com, comme mon nom de famille est plutôt inhabituel, et j'ai eu la chance de ramasser le nom de domaine. Mon adresse e-mail est (mon prénom)@(mon nom de famille).com. Alors, vraiment, quand il s'agit de deviner, ce n'est pas très dur.
De toute façon, je souhaite intégrer une mailto: lien sur mon site, afin que les gens peuvent me contacter. Et, malgré mon e-mail n'étant pas très dur à deviner, je préfère ne pas avoir récolté par les robots de spam qui vient d'analyse de sites web pour l'e-mail de motifs et de les ajouter à leur base de données.
Quelle est la meilleure façon pour moi de dissimuler mon adresse e-mail, de préférence en lien formulaire? Les méthodes que je connais sont:
<a href="mailto:[email protected]">e-mail me</a>
Cela fonctionne, mais cela signifie aussi que dès que mes visites sur le site web de Google, je vais patauger dans le spam spam bots facilement choisir mon adresse e-mail.
<img src="images/e-mail.png" />
C'est moins souhaitable, car non seulement les visiteurs-être pas à cliquer dessus pour m'envoyer un e-mail, mais plus intelligent que les robots de spam sera probablement en mesure de détecter les caractères que l'image contient.
Je sais qu'il n'y a probablement pas de solution parfaite, mais je me demandais juste ce que tout le monde croyait être le meilleur. Je suis certainement prêt à utiliser JavaScript si nécessaire, comme mon site déjà fait usage de tonnes.
Vous devez vous connecter pour publier un commentaire.
Je coder les caractères en entités HTML (quelque chose comme ceci). Il n'a pas besoin de JS pour être activé et semble avoir arrêté la plupart des spams. Je suppose qu'une smart bot pourrait encore la récolte, mais je n'ai pas eu de problèmes.
Personnellement, j'ai renoncé à cacher mon adresse e-mail. Je trouve ça plus facile de regarder en mieux de filtrage anti-spam solutions que de s'inquiéter d'obscurcissement. Vous pourriez passer des jours à essayer de trouver le meilleur moyen de dissimuler votre adresse, et puis il suffit d'une personne pour la vente de votre adresse pour un spammeur et tout le travail a été inutile.
L'actuel accepté la solution est de créer un formulaire de contact qui permet aux utilisateurs de vous envoyer un email. Si vous recevez beaucoup de courrier indésirable de ce que (je ne suis pas sur mon site), vous pouvez ensuite ajouter un captcha pour faire bonne mesure, et vous serez loin de la "low hanging fruits" à ce point.
Le fait de la question est que si vous fournissez un lien sur lequel l'utilisateur peut cliquer pour ouvrir leur client de messagerie avec votre adresse dans le champ a:, puis l'ordinateur est en mesure de déchiffrer l'adresse de messagerie de la page et peut donc être un spam bot.
Vous l'avez mentionné, c'est pour votre site web personnel. Sur mon site personnel (par exemple, bobsomers.com) je viens d'avoir un paragraphe qui dit ceci:
Les gens semblent être en mesure de comprendre que bien, comme je reçois des e-mails légitimes de tous les temps. Parfois, la meilleure des solutions n'avez pas besoin d'écrire de code. 🙂
reCAPTCHA offre un moyen simple email de la dissimulation de service. Vous n'avez pas besoin de créer un compte et vous pouvez commencer à l'utiliser immédiatement. Vous pouvez utiliser le service comme un lien ou dans une fenêtre contextuelle.
Après le captcha est résolu, votre adresse e-mail apparaît comme un href/mailto, de sorte qu'il peut être cliqué/suivi par les utilisateurs qui ont configuré leur e-mail de clients de travailler avec leurs navigateurs.
Apparemment à l'aide de CSS pour changer la direction de votre texte fonctionne assez bien. Ce lien a un test d'un tas d'autres méthodes d'obfuscation ainsi.
Tout ce que vous utilisez est inévitablement va être vaincu. Votre principal objectif devrait être d'éviter d'agacer le diable hors de vos utilisateurs.
Une légère façon d'occulter les
href
de l'ancre est à base64 encode:Et de l'inclure codé en dur:
Ou dynamique côté serveur, par exemple en PHP:
En combinaison avec de la ficelle de réversion cela pourrait être assez spam-enregistrer:
Ne pas utiliser toute leurs techniques de dissimulation d'ici parce que c'est probablement le premier endroit où les pêcheurs email cherchera à savoir comment les gens sont obscurcissement des e-mails. Si vous disposez de votre adresse email visible sur le site ne vous contentez pas de copier mot à mot de quelqu'un d'autre méthode; dissimuler dans une façon unique qui aucun autre site a utilisé de sorte que votre méthode ne sera pas connu des pêcheurs avant la visite de votre site.
Vous pourriez faire comme Google sur Google Code (et les Groupes). Afficher une par tof le email, et cliquable partie ("..."). En cliquant sur ce bouton indique que vous voulez savoir la email, et vous êtes invité à remplir un captcha. Après l'e-mail (et autres?) sont visibles que par vous.
le mien est en fait simple:
- Je utiliser JavaScript dissimulation, jetez un oeil à celui-ci par exemple:
http://www.jottings.com/obfuscator/
Un site que j'ai maintenir utilise un peu simpliste JavaScript moyen de (espérons-le) en gardant les robots des spammeurs out.
Des liens e-mail appeler une fonction JS:
À assurez-vous que seuls les utilisateurs qui ont JS activés peuvent voir le lien, écrire ceci:
L'utilisation d'une fonction JS à écrire un lien qui en appelle une autre signifie qu'il y a deux couches de protection.
Comme une affiche au-dessus dit, j'ai aussi l'utilisation de JavaScript obscurcissement de la carnet de voyage site web.
La page web génère du JavaScript qui peut être amélioré. Le
mailto:
chaîne de texte est en clair et identifiable par des robots (qui pouvait repérer ce et unobfuscate cette chaîne), mais si on entre dans le jottings.com page web une adresse e-mail de la formemailto:[email protected]
au lieu de[email protected]
puis supprime le textemailto:
JavaScript qui est généré, d'un seul coup a un peu de JavaScript qui n'a pas l'air comme si elle n'a rien à voir avec l'e-mail à tous - aléatoire JavaScript dont le web est plein. On peut améliorer ce domaine encore plus loin en se débarrassant du lien texte - j'ai remplacé le mien par une image de mon adresse email qui est dans un assez obscure de la police. Alors juste au cas où cette méthode sur jottings.com devient populaire, je randomisés, les noms de variable dans la sortie JavaScript pour rendre plus difficile pour un robot pour voir un exemple de carnet de voyage généré du code JavaScript.De toute évidence, certains de ces améliorations pourraient être intégrées dans le mécanisme de carnet de voyage elle-même, et étant donné que le code est librement accessible ce serait relativement facile.
Un exemple peut rendre tout ceci un peu plus clair. J'ai utilisé le carnet de voyage Obfuscator sur le lien ci-dessus pour d'obscures
mailto:[email protected]
(remarque, je suis la tricherie sur l'intention initiale du carnet de voyage site web en saisissant la chaînemailto:[email protected]
au lieu de[email protected]
) avec le texte "Envoyez-Moi e-Mail" carnet de voyage est apparu dans cette Javascript:Après je m'y remettre, je le coller dans un éditeur et:
mailto:
Je me retrouve avec ceci:
Je n'ai pas bien comment cela pourrait fonctionner. Vous ne pourriez pas vous laissez votre adresse e-mail et de le rendre charger à l'aide d'un appel AJAX une fois que la page a fini de charger. Vous ne savez pas si les robots de spam peut ramasser la modification du HTML ou s'ils sont assez intelligents pour écouter sur d'autres le trafic HTTP pour essayer et choisir les adresses de courriel ou si ils ont simplement numériser la page telle qu'elle est reçue la première fois.
Un gars qui a testé neuf façons différentes de présenter une adresse e-mail sur une page, puis les résultats publiés sur son blog.
Ses trois meilleurs moyens ont été:
Mise en garde -- cela a été posté il y a deux ans. Les robots de Spam pourrait avez devenus plus intelligents.
Une autre approche pourrait être à l'aide d'un framework JavaScript et de liaison de données/modèle pour les éléments HTML. Dans le cas d'AngularJS, les éléments HTML devrait être écrite comme:
L'interpolation {{données}} la liaison utilise une étendue variable qui contient l'e-mail de la valeur. En outre, un filtre peut aussi être utilisé qui gère le décodage de l'e-mail comme suit:
Les avantages sont dans la façon dont le code HTML est écrit. L'inconvénient est qu'il nécessite l'aide de scripts qui pour certains peuvent être un pas de pas de.
juste une autre approche.
De l'appel Ajax solution
Le mieux est d'avoir un formulaire sur le site et de ne pas afficher adresse e-mail, parce que tous les robots sont de plus en plus intelligents, jour après jour, mais si vous avez besoin d'afficher une adresse email sur le site, donc, vous pouvez le faire avec l'appel ajax sur votre serveur, et de l'afficher sur cliquez sur.
HTML
ou
jQuery
PHP
Pour plus de sécurité, vous pouvez modifier
.on
par.one
comme ce$(document).one('click', '.obfmail', function(e) {
ou même travailler avec un PHP jeton généré que vous passez dans les données sur appel ajax, à accepter qu'un appel de l'ajax fonction comme ceci :html:
<a class="obfmail" href="#" token="w3487ghdr6rc">
jquery:
.
.
Honnêtement, votre problème est peut-être discutable si vous avez posé la question de savoir si ou non un mailto est vraiment ce que vous voulez utiliser. Beaucoup de gens qui utilisent le web mail, par exemple, ou n'ont pas le client de messagerie de l'installation dans leur navigateur ne vont pas bénéficier d'un mailto. Vous êtes exposant votre e-mail adresse pour une fonction qui n'est pas d'aller travailler pour une grande partie de vos utilisateurs.
Ce que vous pourriez faire à la place est d'utiliser un formulaire pour envoyer l'e-mail dans les coulisses afin que l'adresse e-mail est caché et vous n'avez pas à vous soucier de les sucs pauvres qui ne bénéficieront pas d'un mailto.
Si vous le dites sur votre site que "Mon adresse e-mail est (mon prénom)@(mon nom de famille).com.", et votre nom et prénom sont vachement évident, qui semble être la meilleure protection anti-spam que vous allez obtenir.
Si vous travaillez avec PHP, vous pouvez récupérer un script gratuit qui fait cela automatiquement. Il est appelé "Privé de Papa" et nous l'utilisons pour notre propre service de streaming audio en ligne. Juste une ligne de code et il fonctionne hors de la boîte... vous pouvez saisir ici
Si quelqu'un est à l'aide de Rails, ils peuvent utiliser le
actionview-encoded_mail_to
gem. (https://github.com/reed/actionview-encoded_mail_to)Il ya quelques options:
À l'aide de JQuery, mais peut facilement être porté à la plaine de JS si nécessaire. Sera le suivant bloc HTML. Cet exemple que je fournis est aussi pour
tel:
liens pour les appels téléphoniques.et convertir les liens appropriés à l'aide de Javascript.
J'ai documenté plus en détail ici https://trajano.net/2017/01/obfuscating-mailto-links/
Le de/algorithme est assez simple, donc ce n'est pas trop pénible à écrire (pas besoin d'en base64 analyse syntaxique)
Cloudflare est maintenant offrant gratuitement email de la dissimulation de service. Cela peut être une option si vous utilisez Cloudlfare.
Puisque cette solution n'est mentionné nulle part, mais qui fonctionne bien pour moi:
Je fais ceci:
créer un lien mailto avec de faux e-mail. J'aime [email protected] pour des raisons évidentes: Spammeur pourrait spam son propre botnet lors de l'utilisation de cette adresse décochée.
monogramme adresse e-mail réelle et le mettre dans un autre, mais trouvable caché durée ou quel que soit l'élément que vous souhaitez. Évidemment, pour dissimuler l'e-mail et de le cacher de la moissonneuse. En fonction de votre projet de la structure, vous pourriez même vouloir le mettre dans un JS ou variable de Session.
créer un gestionnaire d'événements click pour ces liens après une seconde que decyphers et écrire l'adresse e-mail correcte dans le faux lien mailto pas de la prévention des manquements.
Je ne pense pas que les robots d'indexation, cliquez sur les liens mailto, mais si ils le feraient, ils probaby de ne pas attendre une seconde, alors qu'un être humain devrait être extrêmement rapide pour cliquer sur un lien dans la première seconde après pageload.
Maintenant, vous avez entièrement fonctionnelle, mais occulté, honeypoted et timesecured lien mailto.
De travail exemple de fichier php:
Peut que le code sera avec vous.
- Je utiliser un Fonction PHP pour générer une partie du code javascript à la sortie de l'e-mail au chargement de la page. Notez que vous n'avez pas besoin PHP pour générer le JS au moment de l'exécution, vous pouvez générer le JS une fois localement et à les inclure la statique de la JS dans votre page.
Vous pouvez également utiliser la fonction qui lui est associée avec cet extrait de code ci-dessous pour dissimuler les adresses de courriel dans une certaine HTML (où $processedContent est le code HTML):
Vérifier cette out.
Le "Enkoder Forme" va crypter votre adresse e-Mail et convertir le résultat d'une auto-évaluation de JavaScript, en cachette de e-Mail-la récolte des robots qui explorent le web à la recherche pour les exposés adresses. Votre adresse sera affiche correctement par les navigateurs web, mais sera pratiquement indéchiffrable pour e-Mail de la récolte des robots.