Frage

Wie verhindern Sie E-Mails von Web-Seiten per E-Mail Spinnen gesammelt werden? Hat mailto:, welches sie verbindet die Wahrscheinlichkeit, dass sie erhöhen aufgenommen zu werden? Ist URL-kodiert, nützlich?

Offensichtlich ist die beste Gegenmaßnahme ist nur für E-Mail-Adressen angemeldete Benutzer zu zeigen, oder ein Kontaktformular zur Verfügung zu stellen, anstatt eine E-Mail-Adresse. Aber in Bezug auf rein clientseitige Lösungen, was verfügbar ist?

War es hilfreich?

Lösung 4

Einige Jahre später, habe ich die folgende jQuery für eine andere Website erstellt:

$(".email").each(function() {
    $(this).html( $(this).html().replace("...", "@").replace(/\.\.\./g, ".") );
    $(this).attr( "href", $(this).attr("href").replace("...", "@").replace(/\.\.\./g, ".") );
});

E-Mails werden dann geschrieben als:

<a href="mailto:bob.smith...example...com" class="email">bob.smith...example...com</a>

Es ist nicht perfekt, aber es ist sehr einfach und scheint zu vereiteln die meisten E-Mail-Harvester. Der Vorteil dieser Methode ist, dass jemand, der nicht mit Hilfe von JavaScript wird wahrscheinlich in der Lage sein, herauszufinden, was die eigentliche E-Mail-Adresse ist.


Schauen Sie sich diese Studie über verschiedene E-Mail-Verschleierung Methoden .

Andere Tipps

Die meisten E-Mail-Spinnen haben kein JavaScript-Interpreter, also, wenn Sie wirklich die mailto: benötigen, können Sie es mit Javascript injizieren ... nur sicherstellen, dass die Adresse in der Javascript verdeckt ist irgendwie, z.B.

myLink.href='mai'+'lto:'+'bob'
           +'@'
           +'example.com';

Wenn Sie die E-Mail-Adresse auf der Seite angezeigt werden müssen, eine gemeinsame Lösung ist, ein Bild mit so etwas wie php gd zu erzeugen (obwohl die Javascript-Injektion sollte auch für diesen ok arbeiten).

Die Idee ist es, die E-Mail-Adressen aus dem HTML zu entfernen und sie mit Javascript injizieren. Auf diese Weise der E-Mail-Adresse nicht in seiner ursprünglichen Form in eines des HTTP-Datenverkehr erscheinen, das ist, was die Spinne auf sucht.

Ich neige dazu, eine mailto zu vermeiden, wie sie es zu einfach für die Menschen zu ernten E-Mail-Adressen machen.

Wenn Sie vorhaben, Kontaktseiten auf Ihrer Website haben, dann nur eine Form hat, und wenn sie Ihren serverseitigen Code einreichen und verwenden Sie die entsprechende E-Mail-Adresse.

Wenn Sie in der Lage sein müssen andere Leute Adressen zur Verfügung zu haben, Zahlen, Namen, Benutzernamen, eine Möglichkeit, sie zu identifizieren.

Wenn Sie nur in einer Spanne eine E-Mail-Adresse haben es wahrscheinlich, abgeholt werden, auch wenn Sie versuchen, es zu verbergen, da diese Programme ziemlich komplex sein können, wie E-Mail-Adressen zu finden ist, was sie im Begriff ist.

Wie bei den meisten Geheimnisse, wenn Sie andere nicht wollen, dass sie zu bekommen, sie nicht auf der Seite setzen.

ich teilten sie in der Regel in einzelne Teile und dann neu kombinieren sie mit Hilfe von Javascript. Die endgültige Javascript hat eine document.write die HTML zu schreiben.

d.

var mail = "mailto";
var namepart = "test.user";
var domainpart = "example";
var tld = "com"; 
var address = namepart + "@" + domainpart + "." + tld;
document.write("<a href=" + mail + ":" + address + '">' + address + "</a>";

Wenn Sie nicht über den Mail-Link benötigen könnten Sie die ersetzen @ Symbol mit [at]

Beispiel: sam [at] example.com

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top