it-swarm.com.de

Wie kann ich E-Mail-Adressen auf der Website anzeigen, um Spam zu vermeiden?

Ich zeige E-Mails auf meiner Website wie folgt

 <a href="mailto:[email protected]">Email</a>

Beim Analysieren meiner Website mit woorank.com habe ich jedoch Folgendes gelesen: Was kann ich tun, um dies zu vermeiden?

Böswillige Bots suchen im Web nach E-Mail-Adressen, und E-Mail-Adressen im Klartext werden mit höherer Wahrscheinlichkeit als Spam eingestuft.

52
Jack

Es gibt mehrere Möglichkeiten, E-Mails auf Websites auszublenden, wobei in der Regel entweder die HTML-Entity-Version der E-Mail-Adresse (wie von Aziz-Saleh vorgeschlagen) verwendet wird, jedoch ausgehend von einem tatsächlichen Webdesign Nur die E-Mail-Adresse so auf eine Website zu stellen, ist nicht besonders benutzerfreundlich.

Beispielsweise wird durch den Link mailto: Automatisch der Browser zum Öffnen der gewünschten E-Mail-Anwendung des Benutzers aufgerufen. Beachten Sie dies jedoch. Nicht jeder hat eine dedizierte E-Mail-Anwendung. Ich verwende beispielsweise kein Outlook (ich bin ein Windows-Benutzer), und wenn Windows Live Mail nicht installiert ist, kann mein Computer diesen Link nicht öffnen. Ich denke Chrome kann die Links in GMail öffnen, wenn Sie angemeldet sind, aber ich müsste das überprüfen.

Wenn Sie mailto: Verwenden, entfremden Sie möglicherweise einen Teil Ihrer Nutzerbasis, der diesen Link nicht verwenden kann.

Ich würde vorschlagen, E-Mail-Formulare zu verwenden. Für PHP= und Ihre Sprache von JSP, wie dieser Link hier: Senden von E-Mail in JSP und sogar auf StackOverflow

Durch die Verwendung Ihres Servers zum Senden der E-Mail erhalten Sie eine genauere Kontrolle darüber, wie die E-Mail generiert wird, welche Daten der Benutzer eingeben darf, und Sie können ihm sogar eine (vom Server generierte) Rücksende-E-Mail senden, um zu bestätigen, dass Sie diese haben haben ihre Nachricht erhalten. Dies ist eine praxiserprobte Methode, mit der Kunden und Besucher mit Ihnen in Kontakt treten und gleichzeitig den gesamten Prozess schützen und steuern können.

TL; DR : Rohe mailto: - Links können Personen ohne dedizierte E-Mail-Programme entfremden. Wenn Sie JSP-Formulare verwenden, können Sie deren Verwendung steuern Kontaktieren Sie uns mit welchen Informationen (Sie können Felder und das HTML5-Attribut required verwenden, um bestimmte Eingabefelder zu belegen) und Sie können sogar mit einer do-not-reply - E-Mail antworten, damit sie wissen, dass ihre Nachricht gehört wurde (nur) Vergessen Sie nicht, nach der E-Mail-Adresse zu fragen.)

22
Singular1ty

In der Vergangenheit habe ich gesehen, dass dies mit Javascript gemacht wurde. Grundsätzlich weisen Sie Javascript-Variablen die E-Mail-Adresse zu und ändern damit den Inhalt eines Elements. Sie können Benutzern mit deaktiviertem Javascript auch einen Fallback zur Verfügung stellen, der sie in die Richtung eines Formulars weist, wenn dies erforderlich ist. Hier ist ein Beispiel

var user = 'foo',
    domain = 'bar.com',
    element = document.getElementById('email');

    element.innerHTML = user + '@' + domain;
    //OR
    //'<a href="mailto:' + user + '@' + domain + '">Email</a>'  

Auf diese Weise sehen Bots niemals die E-Mail-Adresse, da sie kein Javascript laden.

30
JazzyP

Nun, Sie können jeden Tag einen anderen Weg finden. Hier ist eine mit jQuery.

<a class="mail" href="mailto:[email protected]">e-mail</a>

Behandle dann den Klick mit jQuery.

$('a.mail').on('click', function(){
    var href = $(this).attr('href');
    $(this).attr('href', href.replace('badmail.', ''));
});

Der Grund, warum ich das mag, ist, dass ich den Spammern erlauben kann, die Dummy-Mail-Domain zu spammen, weil sie glauben, sie hätten noch eine weitere E-Mail erhalten. Wenn ich meinen eigenen Spamfilter pflegen würde, könnte ich Proben in meinem schlechten Eimer sammeln.

Außerdem können Sie mit diesem Ansatz die Seite mit dynamischen Daten ganz sauber rendern und das JavaScript-Snippet auf der gesamten Website nur einmal verwenden, um die tatsächlichen Klicks der Benutzer zu verarbeiten.

Funktioniert auch auf Handys.

28

Lösung 1:

Sie können viele öffentlich verfügbare E-Mail-Adress-Encoder verwenden, z. B. (erstes Ergebnis bei Google):

http://www.wbwip.com/wbw/emailencoder.html

Dies verschlüsselt die E-Mails in ihren Zeichenentitätswert. Dies erfordert mehr logische Formschaber, um sie zu dekodieren.

Also eine E-Mail wie: [email protected] wird &#116;&#101;&#115;&#116;&#064;&#103;&#109;&#097;&#105;&#108;&#046;&#099;&#111;&#109; welches auch in einem mailto verwendet werden kann.

Lösung 2:

Verwenden Sie einen Online-E-Mail-zu-Bild-Konverter (erneut erstes Ergebnis bei Google):

http://www.email2image.com/Convert-Email-to-Image.aspx

Um es als Bild zu machen. Andere Dienste ermöglichen Ihnen dies automatisch über eine API wie:

https://www.mashape.com/seikan/img4me-text-to-image-service#!endpoint-Main

18
Aziz Saleh

Persönlich habe ich mir das ausgedacht, ziemlich unkompliziert und irgendwie witzig. Ich gebe diesen Code dort ab, wo meine E-Mail-Adresse erscheinen soll:

<script>(function whatever(){var s='@',n='nabil',k='kadimi.com',e=n+s+k,l='<a href=mailto:{{[email protected]}}>{{[email protected]}}</a>'.replace(/{{.+?(}})/g,e);document.write(l)})()</script>

Erweitert

<script>
    (function whatever() {
        var s = '@'
            , n = 'nabil'
            , k = 'kadimi.com'
            , e = n + s + k
            , l = '<a href=mailto:{{[email protected]}}>{{[email protected]}}</a>'.replace(/{{.+?(}})/g, e)
        ;
        document.write(l);
    })();
</script>

Demo

<script>(function whatever(){var s='@',n='nabil',k='kadimi.com',e=n+s+k,l='<a href=mailto:{{[email protected]}}>{{[email protected]}}</a>'.replace(/{{.+?(}})/g,e);document.write(l)})()</script>
5
Nabil Kadimi

Google bietet hierfür tatsächlich einen Dienst an. Kostenlos zu benutzen und funktioniert ziemlich gut: Mail ReCaptcha

3
A. Riesbeck

Ich verwende E-Mail-Encoder wie http://www.wbwip.com/wbw/emailencoder.html . Geben Sie einfach Ihre Adresse an die Quelle und zwischen die "a" -Tags. Etwas wie das

<a href="mailto:&#105;&#110;&#102;&#111;&#064;&#101;&#120;&#097;&#109;&#112;&#108;&#101;&#046;&#099;&#111;&#109;">&#105;&#110;&#102;&#111;&#064;&#101;&#120;&#097;&#109;&#112;&#108;&#101;&#046;&#099;&#111;&#109;</a>

Es ist die Kodierung von [email protected]

3
AlexPrinceton

Platzieren Sie Ihre E-Mail-Adresse auf einem transparenten Bild im PNG- oder GIF-Format und zeigen Sie dieses Bild auf Ihren Webseiten an. Nur ein menschlicher Leser würde wissen, dass das Bild eine E-Mail-Adresse zeigt. Dies verhindert, dass Bots Ihre E-Mail-Adresse auf Ihrer Website finden.

1
Usman

Ja, es bedeutet, dass Besucher ein PHP-Formular verwenden, um mit Ihnen in Kontakt zu treten. Es ist viel sicherer und verhindert, dass Bots Ihnen Tausende Male E-Mails senden. Schauen Sie sich bei Google nach einem Kontaktformular-Tutorial um, es wird eine Menge geben!

In einem Tutorial werden Sie aufgefordert, PHP zu verwenden. Wenn der Benutzer ein Formular ausfüllt, erhalten Sie eine E-Mail mit den Details, die er im Formular ausgefüllt hat. Die meisten Formulare werden jedoch wie ein "Captcha" -Eintrag verwendet und stoppen die Bots, fast wie ein "Sind Sie ein Mensch?" Prüfung.

Hoffe das hilft.

1
Sam Joy

Ich habe CloudFlares kostenlose Funktion zur Verschleierung von E-Mail-Adressen verwendet: https://support.cloudflare.com/hc/en-us/ articles/200170016-Was-ist-E-Mail-Adresse-Verschleierung -

E-Mail-Erntemaschinen und andere Bots durchsuchen das Internet nach E-Mail-Adressen, um sie Listen hinzuzufügen, die auf Spam-Empfänger abzielen. Dieser Trend führt zu einer zunehmenden Anzahl unerwünschter E-Mails.

Webadministratoren haben clevere Möglichkeiten gefunden, um sich davor zu schützen, indem sie E-Mail-Adressen ausschreiben (d. H. Help [at] cloudflare [dot] com) oder eingebettete Bilder der E-Mail-Adresse verwenden. Sie verlieren jedoch die Bequemlichkeit, auf die E-Mail-Adresse zu klicken, um automatisch eine E-Mail zu senden.

Wenn Sie die Verschleierung von Cloudflare-E-Mail-Adressen aktivieren, werden E-Mail-Adressen auf Ihrer Webseite vor Bots verschleiert (verborgen), während sie für den Menschen sichtbar bleiben. Tatsächlich gibt es für Besucher keine sichtbaren Änderungen an Ihrer Website.

Um ein unerwartetes Verhalten der Website zu verhindern, werden E-Mail-Adressen nicht verschleiert, wenn sie in folgenden Ordnern angezeigt werden:

  • Beliebiges HTML-Tag-Attribut mit Ausnahme des href -Attributs des a -Tags.
  • Andere HTML-Tags
  • Jede Seite ohne MIME-Typ "text/html" oder "application/xhtml + xml"

Ich bin nicht mit CloudFlare verbunden. Ich schätze einfach alles, was sie kostenlos anbieten.

1
Ryan