Comment puis-je utiliser PHP pour masquer les adresses e-mail afin qu'ils ne sont pas facilement récoltées par les spammeurs? [dupliquer]

StackOverflow https://stackoverflow.com/questions/385620

Question

Je suis la programmation en PHP et que vous souhaitez créer des pages Web qui ont des adresses e-mail qui sont lus facilement par les humains, mais pas par les spammeurs faciles à récolter. Les adresses e-mail proviennent d'entrée de l'utilisateur, et je pense que je peux identifier une adresse en utilisant une expression régulière, mais je suis exactement pas clair comment je devrais remplacer les adresses e-mail ou avec ce que, afin de garder les robots collecteurs de mails les plus automatisés de leur récolte.

Voici une idée: (pseudo code)

(email)@(domain.com) $1<span class="remove">DELETE</span>$2

.remove {
   display: none;
}

Espérons que le bot se déclenche sur la balise span.

Enfin, je suis à la recherche d'une solution qui ne perturbe pas les adresses e-mail qui sont à l'intérieur des balises mailto:.

en double de Comment puis-je empêcher les bots de prévenir la collecte d'adresses e-mail qui est double de Quels sont les moyens de protéger les courriels sur les sites de spambots et peut-être quelques autres ...

Était-ce utile?

La solution

Vous pouvez masquer à l'aide de CSS et ...

<span class="email-encrypt">moc.liamelgoog@avynnib<span class="email-decrypt-message">(Reverse this text to get my Email address)</span></span>

/*Decrypt Email */
.email-encrypt {
    unicode-bidi:bidi-override;
    direction: rtl;
}
.email-encrypt .email-decrypt-message {
    display:none;
}

Edit: Ici, l'adresse e-mail dans la source est en sens inverse - ce que les déclarations CSS fait est qu'il retourne l'adresse e-mail à sa forme originale. J'espère que le bon sens.

Mais je ne sais pas comment cela est efficace - il y a beaucoup de robots qui simulent un environnement de navigateur. Je pense que je suis mieux de dire quelque chose comme -. Mon email est binnyva, googlemail

Autres conseils

Utilisez GD et créer une image de votre Email ID

Vous pouvez utiliser le bibliothèque PHP GD pour créer facilement une image d'un texte donné.

Un exemple de code ressemblera,

<?php
  header("Content-type: image/png");
  $im = @imagecreate(110, 20)or die("Cannot Initialize new GD image stream");
  $background_color = imagecolorallocate($im, 0, 0, 0);
  $text_color = imagecolorallocate($im, 255, 255, 255);
  imagestring($im, 1, 5, 5,  "anything@domain.com", $text_color);
  imagepng($im);
  imagedestroy($im);
?>

Avantages:

  • ne peut pas simplement spammers capturer, à moins qu'ils utilisent un OCR: p
  • Très bas frais généraux, en utilisant PNG / GIF format
  • Peut être créé à la volée pour tout texte

Inconvénients:

  • Impossible de cliquer sur le courrier, en tant que lien
  • ne fonctionne pas avec les moteurs TTS, un -ve pour la. Malvoyant

une option: javascript email obscurcissement , et des images lorsque javascript est désactivé

L'astuce ci-dessus (en utilisant CSS) fonctionnerait certainement pas. Je ne sais pas si les robots se donnent la peine regardant CSS du tout, en fait, je ne suis pas complètement sûr qu'ils lisent HTML, ils correspondent probablement la page entière sur certains regex.

Par contre, ce qui rend leurs listes poisioning avec spamtraps assez facile. Si vous souhaitez une adresse particulière pour recevoir du spam (et le spam uniquement) pour former vos filtres, vous pouvez mettre les adresses e-mail dans la page que les utilisateurs normaux ne seront pas en mesure de voir ou cliquer sur, seuls les robots collecteurs de mails.

En fait, faire une expérience -. Écrire un certain nombre de différentes adresses e-mail avec différents types de lien, et voir combien ils obtiennent spams

Je l'ai essayé il y a quelques mois avec un lien normal sur mon site web, il a fallu trois semaines avant que le piège a commencé à recevoir du spam.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top