Wie eine E-Mail-Adresse für Benutzer anzuzeigen, sondern von Roboter verstecken? Gibt es eine einfach Möglichkeit, es mit PHP, Javascript oder Jquery zu tun?

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

Frage

Gibt es eine elegante und einfache / einfache Art und Weise es mit PHP, Javascript oder Jquery zu tun?

War es hilfreich?

Lösung

Sie können die PHP image () Funktion verwenden, um ein Bild zu erstellen.

<?php
// Create a 100*30 image
$im = imagecreate(120, 30);

// White background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Write the email address at the top left
imagestring($im, 5, 0, 0, 'test@test.com', $textcolor);

// Output the image
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Andere Tipps

Es gibt viele Möglichkeiten, dies zu tun. Wir haben som Glück haben über Python / javascript Verschleiern Quelle. Ein weiterer einfacher Favorit ist die CSS unicode-bidi-Technik:

div.contact { unicode-bidi:bidi-override; direction: rtl; }
<div class="contact">moc.rab@oof</div>

Druckt:

foo@bar.com

Sie könnte aussehen wollen in reCAPTCHA Mailhide . Es sollte einfach sein, von PHP zu verwenden.

schreibt nie E-Mail-Adressen als Text auf Webseiten, niemals!

und Browser-Bots haben sicherlich JS aktiviert -_-

Obfuscation mit trickiest möglich HTML-Entitäten und urlencode, in PHP implementiert: http://hcard.geekhood.net/encode/

Quelle: http://code.google.com/p/ hcardvalidator / source / browse / trunk / Kodier / index.php

Ein weiterer Ansatz, den ich verwenden ist:

<a href="mailto:me@myserver.removethis.com">
<script>[…] a.href = a.href.replace(/removethis\./,'');</script>

Es ist erwähnenswert, dass beide Techniken Benutzer vollkommen zugänglich, klickbaren Link geben.

Sie können versuchen, zu ändern name@example.com zu: "Name am Beispiel dot com".

Allerdings Roboter kann leicht machen dies.

Ansonsten könnten Sie ein dynamisches Bild der E-Mail-Adresse an, wenn Sie wirklich motiviert sind.

Es ist keine perfekte Lösung, aber die Enkoder ( http://hivelogic.com/enkoder ) ist sehr nützlich für diese. Es nutzt Javascript um die Adresse zu verschleiern.

Ok. So nach einer Weile habe ich diesen Blog-Artikel gefunden, wie dies leicht zu tun. http: // techblog .tilllate.com / 2008/07/20 / zehn-Methoden zu verschleiern-E-Mail-Adressen-Vergleich / Und wie viel Einfluss sie auf Spam-Empfangs macht ..

Ich denke, das zum Eintrag oben angegebenen komplementär sein könnte .. Cheers!

Würden diese Arbeit als auch ??

Mit so etwas wie dieses

<span>myaddress</span><span>@</span><span>mydomain.com</span>

Dies wird nicht als Verbindung steht, aber immer noch für das menschliche Auge auf einer Seite erkennbar sein würde, und wahrscheinlich con't von einem Roboter analysiert werden. Haben Sie überprüft es nicht aus, du. Man könnte wahrscheinlich die Zeichenfolge in eine Lücke einfügen und bindet sie an eine Funktion, die die Adresse durch Parsen aus dem Inhalt komponiert ..

Nur ein schneller Gedanke ...

Das ist schwer zu tun. Es sei denn, Sie ein Bild verwenden, alles, was die Menschen lesbare von Ihrem Browser gerendert wird, kann von einem Roboter gemacht für Menschen lesbare werden. So auch die E-E-Mail in irgendeiner Weise in den HTML-Quellcode Scrambling und dann eine Javascript-Funktion verwenden, um de-Scramble dynamisch auf Seite Rendering, wird dies durch einen Roboter besiegt werden, die auch die volle Wiedergabe des DOM der Fall ist.

Bis vor kurzem hatte ich gute Erfolge mit dem obigen Verfahren, und sah keinen Spam. Vor kurzem aber ich habe bemerkt, dass Adressen wurden abgeholt scheinen zu. So kann ich nur E-Mail-Trawler sind jetzt gerade voll DOM-Rendering übernehmen.

So schließen - ein Bild wahrscheinlich am besten ist (obwohl auch das ist nicht 100%)

Hier ist eine einfache Jquery Lösung für dieses Problem:

<script type="text/javascript">
$(document).ready(function() {
    str1="mailto:";
    str2="info";
    str3="@test.com";
    $("#email_a").attr("href", str1+str2+str3);

});
</script>

<a href="#" id="email_a"><img src="sample.png"/></a>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top