it-swarm.com.de

Möglichkeit, die E-Mail-Adresse "Kontakt" auf der Website aufzulisten und gleichzeitig die Wahrscheinlichkeit von Spam zu verringern?

Was ist eine gute Möglichkeit, eine "Kontakt" -E-Mail-Adresse auf einer Website aufzulisten und gleichzeitig die Wahrscheinlichkeit zu verringern, dass sie als Spam eingestuft wird?

Ist das Einfügen der E-Mail-Adresse in ein Bild die beste Methode, oder gibt es andere?

70
Chris W. Rea

Ich leite alle Kontaktformulare über ein wegwerfbares Google Mail-Konto weiter, das E-Mails an die echte E-Mail-Adresse weiterleitet. Es ist kostenlos, einfach und die Spam-Erkennung von Google Mail ist erstklassig.

Das Erstellen der Website erfordert keinen zusätzlichen Aufwand. Wenn etwas durchkommt, melden Sie sich einfach beim Google Mail-Konto an und markieren Sie es als Spam.

Anschließend können Sie den Posteingang von Google Mail so einstellen, dass alle weitergeleiteten Nachrichten automatisch archiviert oder sogar gelöscht werden, wenn Sie nicht möchten, dass diese zusätzliche Kopie dort aufbewahrt wird.

54
Callan

Verwenden Sie einen E-Mail-Verschleierer

30
Jason

Meine Nichtantwort ist, dies nicht zu tun. Moderne E-Mail-Systeme wie GMail und die Barracuda-Anti-Spam-Appliance filtern Spam hervorragend. Jede Barriere, die Sie zwischen sich und Ihren Besuchern stellen, bedeutet ein geringeres Engagement und, abhängig von der Art der Website, einen möglichen Umsatzverlust.

Wenn Sie sich Sorgen über Benutzer machen, auf denen der native Mail-Client nicht installiert ist oder die den mailto: -Handler nicht richtig eingestellt haben, rufen Sie eine Kontaktseite mit der verknüpften E-Mail-Adresse und einem Formular (ohne CAPTCHA) auf Lassen Sie den Benutzer wählen.

Spam ist ärgerlich, aber wir müssen ihn tragen, nicht unsere Benutzer.

20
JasonBirch

Verwenden Sie die natürliche Sprache, um die E-Mail-Adresse zu buchstabieren ...

Ex:

thatguy at gmail dot com

Sie werden überrascht sein, wie viel schwieriger es ist, einen Bot zu schreiben, der die natürliche Sprache unterscheiden kann, als einen Bot zu schreiben, der nur nach dem @ -Zeichen sucht und eine normale Adresse reguliert.

Es ist nicht 100% narrensicher, aber es ist nicht schlimmer als Verschleierung und es entfremdet nicht Ihre sehbehinderten Benutzer und/oder Benutzer, bei denen JavaScript deaktiviert ist.

Update: Hier ist ein Beispiel für diese Technik in Aktion .

Update 2:

Es stellt sich heraus, dass tatsächlich jemand darüber recherchiert und online gestellt hat. Siehe den SuperUser-Beitrag, der die Ergebnisse beschreibt oder der ursprüngliche Artikel

18
Evan Plaice

Persönlich zeige ich keine E-Mail-Adressen auf Websites an, sondern habe stattdessen ein benutzerfreundliches, zugängliches Kontaktformular mit einer Angabe, von wem die E-Mail stammt. Benutzern das Senden von E-Mails an Eigentümer und Betreiber der Website ermöglichen, ohne dass E-Mail-Adressen offen gelegt werden müssen oder durch verschiedene JavaScript-Rahmen usw. gesprungen werden muss.

Dies ist oft der beste Weg, wenn Ihre Spam-Filterung nicht so ausgefeilt ist.

12

verwenden Sie CSS, um Rauschen aus dem realen Text auszublenden (alles in einer Zeile, ich habe es formatiert, um die Technik besser zu veranschaulichen):

u<span class="spam">noise</span>ser
@<span class="spam">noise</span>
example<span class="spam">noise</span>
.com

und dann benutze dieses kleine CSS-Snippet:

.spam { display: none; }

wenn Sie gültige mailto: -Inhalte benötigen, müssen Sie diese über jscript in der Dom erstellen. Sehen Sie sich einige der anderen Antworten dazu an. Aber ich bin kein großer Freund davon.

9
akira

Was ich tue, ist, die E-Mail-Adresse als Wörter zu schreiben, die in ein span-Tag gehüllt sind: <span class="email">joe dot blow at gmail dot com</span>. Anschließend wird ein Skript auf Seitenebene ausgeführt, das alle diese Bereiche erfasst und durch einen erstellten E-Mail-Link ersetzt. Es mag nicht zu dunkel sein, aber ich hatte keine Beschwerden. Wenn JavaScript deaktiviert ist, kann der Benutzer weiterhin den tatsächlichen Bereichstext lesen.

8
Grant Palin

Die beste Lösung: verwenden Sie einen Spamfilter.

Ich verwende Google Mail tatsächlich, um mein POP3-E-Mail-Konto für mein Unternehmen zu verwalten, da es viel einfacher ist, E-Mails auf verschiedenen Computern zu überprüfen. Die Spam-Filter von Google Mail sind die besten der Welt.

Sie können also einfach [email protected] als Ihre E-Mail-Adresse anzeigen und Spam vergessen.

8
DisgruntledGoat

wenn Sie eine HTML-Codierung wie &#649&#7854&#7575 verwenden, wird diese vom Browser wie "abc" dargestellt.

7
ilhan

Ein guter, wenn auch nicht perfekter Weg ist es, die E-Mail-Adresse über Javascript zu erstellen. Die meisten Spinnen, die nach E-Mails suchen, führen kein Javascript aus und finden daher keine lesbare E-Mail-Adresse.

hier ist nur ein Beispiel, wie es gemacht werden könnte.

5
txwikinger

Verwenden Sie eine Grafikbibliothek (z. B. Gd , die von PHP oder ähnlichem unterstützt wird), um dynamisch PNG-Bilder mit den E-Mail-Adressen zu erstellen.

Im Vergleich zu meiner anderen Antwort Diese Lösung ist für die Benutzer weniger ärgerlich (aber nicht transparent; sie können sie nicht kopieren und einfügen, sondern müssen sie von Grund auf neu eingeben), aber auch weniger sicher: ein Computer kann möglicherweise das nicht verschleierte Bild lesen.

Aber insgesamt halte ich es für einen guten Kompromiss; Dadurch wird die große Mehrheit der Spam-Bots gestoppt.

5
Thomas Bonini

Ich verwende ein einfaches Skript Python, um die E-Mail-Adresse in einen Mailto-Link zu konvertieren, bei dem die E-Mail-Adresse HTML-Entity-codiert ist. Dies ist für den Benutzer völlig transparent, scheint jedoch den Inhalt so zu verdecken, dass die einfachsten Erntebots besiegt werden.

#! /usr/bin/env python3.0

def entity_encode(text):
    out = ""
    ba = text.encode()
    for i in range(len(ba)):
        out = out + "&#x{0:02x};".format (ba[i])
    return out

def print_email_link(address) :
        print('<!-- {0} -->'.format(address))
        print('<a href="{0}{1}">{1}</a>'.format(entity_encode("mailto:"), entity_encode(address)))


print_email_link("[email protected]")

Dies ergibt die Ausgabe

<!-- [email protected] -->
<a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#x74;&#x65;&#x73;&#x74;&#x31;&#x32;&#x33;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;">&#x74;&#x65;&#x73;&#x74;&#x31;&#x32;&#x33;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;</a>

Wenn das Ergebnis in eine Webseite eingefügt wird, zeigt der Browser den Text "[email protected]" als Hyperline zu "mailto: [email protected]" an, sodass es für den Endbenutzer genauso praktisch ist, die Adresse anzugeben im klaren. Aber es scheint viele Erntebots zu besiegen.

Offensichtlich lösche ich den Kommentar mit der einfachen ASCII-Version der Adresse, nachdem ich den verdeckten E-Mail-Link an der entsprechenden Stelle in der HTML-Quelle der Webseite eingefügt habe.

5

Bitten Sie den Benutzer, ein CAPTCHA aufzulösen, bevor er die E-Mail-Adresse anzeigt (oder wenn Sie ein Kontaktformular haben, bevor der Benutzer es absenden kann).

Es ist am ärgerlichsten für die Benutzer, aber definitiv am effektivsten.

4
Thomas Bonini

Ich bin ein Fan von Verschleierung, bei der die E-Mail-Adresse im Wesentlichen mit Javascript dargestellt wird.

Beispielsweise könnte [email protected] als gerendert werden

<a href="javascript:location='mailto:\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d';void 0">
<script type="text/javascript">document.write('\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d')</script></a>

Für den Benutzer ist es normaler Text und kann kopiert und eingefügt werden. Bots dagegen werden es schwerer haben.

Hier ist der Verschleierer den ich benutzt habe.

3
Paperjam

Einweg:

_  <script language="javascript"> 
  <!--
  var name = "user"
  var Host1 = "gm"
  var Host2 = "ail.com"
  var addr =
  document.write("<a href=mai" + "lto:" + 
    name + "&#64;" + Host1 + Host2 +
    ">" + name + "&#64;" + Host1 + Host2 + "</a>")
  //-->
 </script> 
_

Sie können "Entschlüsseln Sie meine E-Mail: Benutzer bei com dot gmail" in <noscript> Tags für diejenigen schreiben, die Javascript deaktiviert haben. Auf diese Weise erhalten Sie die Hyperlink-Funktionalität. Sie haben gute Chancen, Spammer von Ihrer Adresse fernzuhalten, und Personen mit deaktiviertem JavaScript oder Browsern, die nur Text verwenden, können Ihre E-Mail-Adresse weiterhin erhalten.

2
Adam

Alle Verschleierungstechniken der Welt können auf lange Sicht nicht helfen, wenn sich viele Menschen mit Ihnen in Verbindung setzen. Es ist nur erforderlich, dass jemand Ihnen eine Nachricht sendet und sich später mit Malware infiziert, die den Posteingang, die gesendeten E-Mails, das Adressbuch usw. nach gültigen Adressen durchsucht und diese von Liste zu Liste weiterleitet [Ich habe sogar Kontakte, die dumm genug sind, um ihre E-Mail-Adresse und ihr Passwort aus den idiotischsten Gründen in Online-Formulare einzutragen, wahrscheinlich auch, die neueste war eine Website, die die Berechnung von "E-Mail-Astrologie-Diagrammen und -Vorhersagen" anbot. die sofort alle Kontakte des Narren mit einer Einladung zu derselben Site verseucht haben und <Gottheit> nur weiß, auf welchen anderen Listen wir uns jetzt befinden].

Die Adresse auf meinen öffentlichen Websites ist nicht nur eine Wegwerfadresse, sondern eine Wegwerf-Subdomain. Wenn ich in dieser Subdomain Spam erhalte, erstelle ich eine neue, aktualisiere die Websites, auf denen meine Kontaktdaten aufgeführt sind, und entferne die Subdomain kurze Zeit später vollständig aus den DNS-Einträgen. Wenn Sie dies oder eine andere Methode zum Wegwerfen von Adressen tun, stellen Sie sicher, dass Sie (auf jeder Seite, auf der die Adresse aufgeführt ist, und in der Fußzeile jeder E-Mail, die Sie mit dieser Adresse senden) klarstellen, dass sich die Adresse in Zukunft ändern wird, und falls dies möglich ist nicht durchkommen, sollten sie zurückschauen, um sicherzustellen, dass sie die richtige Adresse haben.

Dies hat den Vorteil, dass die Benutzer einfach auf eine Adresse klicken können (wenn ihr Browser und ihr Mailer auf diese Weise verknüpft sind) oder sie kopieren und einfügen können, ohne die Adresse anschließend mit ihrem Verstand bearbeiten zu müssen (ich bin immer überrascht, wie viele andere Adressen vorhanden sind intelligente und aufmerksame Menschen können so etwas nicht richtig machen. Es bedeutet auch, dass mein Mail-Server nicht seine Tage damit verbringt, Nachrichten an "zufällige" Adressen (aaron @, adam @, amy01 @, ...) in den abgelaufenen Subdomains zu senden. Es verwirrt auch keine Screenreader, die von Blinden oder Personen mit schlechtem Standort verwendet werden.

Eine andere Option, die ich noch nicht ausprobiert habe, ist die Verwendung einer AJAX -Anforderung zum Einlesen der E-Mail-Adresse und anderer Details. Dies ist möglicherweise etwas effektiver als die auf document.write basierende Verschleierung, führt jedoch zu einer zusätzlichen Belastung des Webservers.

Ich habe stattdessen "Kontakt" -Formulare verwendet, aber ich habe festgestellt, dass sie nicht nur aus Text-E-Mail-Adressen, sondern auch aus Skripten stammen, die versuchen, mithilfe des Formulars irgendwo ein Konto zu erstellen benutze es als Kontaktformular.

2
David Spillett

Auf keinen Fall, Jose! - Ja, Jose!

Es gibt absolut keine Möglichkeit, die Ernte von a href="mailto:" E-Mail-Adressen zu stoppen. Es wird lange geglaubt, dass die Verwendung von JavaScript ein guter Weg ist, um die meisten Ernte-Bots zu verhindern, aber heutzutage sind Bots verdammt gut darin, diese Methode zu besiegen. Sie können auch Bilder, die E-Mail-Adressen enthalten, genauso wie Captcha mit der Decaptcha-Software entfernen.

Der bessere Weg!

Der bessere Ansatz wäre, einen seriösen E-Mail-Dienst zu verwenden, der eine gute Spam-Blockierung bietet. Google G Suite und Microsoft Office 365 verwenden einen Algorithmus, der mit keiner anderen Software auf dem Markt vergleichbar ist, vor allem, weil sie täglich Millionen von E-Mails erhalten und lernen können und Spammer auf die schwarze Liste zu setzen, lange bevor sie versuchen, Ihnen eine E-Mail zu schicken.

In der Tat vor einem Jahr Google sagte, seine Technologie für maschinelles Lernen blockiert jetzt 99,9% von Gmail-Spam und Phishing-Nachrichten , können lokale Microsoft Exchange- und Mail-Server, die hinter plesk/cpanel ausgeführt werden, mit diesem Schutz nicht mithalten.

Zusammenfassung

Blockieren Sie Spam, indem Sie einen seriösen E-Mail-Dienst verwenden, der AI Machine Learning unterstützt. Sie können auch noch einen Schritt weiter gehen, indem Sie verhindern, dass Spammer Ihre Website mit Cloudflare besuchen. Cloudflare erkennt die meisten aggressiven Bots, bevor sie Ihre Website erreichen.

1
Simon Hayter

Wenn Sie einen Bot-Filter haben (mit 1x1px, Subnetz, bekannten Bots, JScript-Erkennung, HTTP-Referrer und Browser-Agent), können Sie die Informationen einfach nicht anzeigen, wenn es sich um einen Bot handelt.

Lösung in PHP:

<?
if (!isbot()) {
  echo 'mailto:'.$email_address_for_real_people;
  }
  else {
  echo 'mailto:[email protected]'.$bots_domain_address;
  }
?>
1
Talvi Watia

Ich habe festgestellt, dass es am einfachsten ist, ein Kontaktformular zu verwenden, in dem eine Standardadresse angegeben ist, aber auch die Möglichkeit für den Benutzer, auszuwählen, an wen die Kommunikation gerichtet werden soll (Marketing, Vertrieb, technischer Support usw.). Basierend auf dem Wert der Dropdown-Liste werden die übermittelten Formulardaten vom Server an die entsprechende E-Mail-Adresse gesendet.

Führen Sie diese Kontaktliste aus einer Datenbanktabelle aus, damit Sie Einträge in der Dropdown-Liste problemlos aktualisieren/hinzufügen können. Auf diese Weise setzen Sie niemals irgendeine Adresse der breiten Welt der Spam-Bots aus und geben Ihren Benutzern dennoch eine großartige Möglichkeit, Feedback einzusenden.

1
Milner

Verwenden Sie Zoho Creator , um ein Kontaktformular einzurichten. Das Feedback, das Sie erhalten, wird in einer Datenbank gespeichert, auf die Sie online zugreifen können, und per E-Mail an Sie gesendet.

0
mvark

Ich benutze eine PHP-Funktion um etwas Javascript zu generieren, um das Skript zur Laufzeit auszugeben. Beachten Sie, dass Sie kein PHP benötigen, um die JS zur Laufzeit zu generieren. Sie können die JS einmal lokal generieren und dann die statische JS in Ihrer Seite.

Sie können auch die verknüpfte Funktion mit diesem Snippet unten verwenden, um E-Mail-Adressen in einem bestimmten HTML-Code automatisch zu verschleiern (wobei $ processingContent der HTML-Code ist):

 $emailMatches = array();
 $matchCount = preg_match_all('/(?:[a-zA-Z0-9_\.\-])+\@(?:(?:[a-zA-Z0-9\-])+\.)+(?:[a-zA-Z0-9]{2,4})+/', $processedContent, $emailMatches);

 if($matchCount > 0) {
    $emailMatches = $emailMatches[0];

    foreach($emailMatches as $email) {
    $replacement = createJSMailLink($email);

    $processedContent = str_replace($email, createJSMailLink($email), $processedContent);
 }
}
0
iloveitaly

Ich benutze die API von http://www.stopforumspam.com , um nach Spammern zu suchen. Kontaktieren Sie mich für Details und ich werde Ihnen gerne dabei helfen!

Bud Manz

Manz Web Designs, LLC

0
Bud

Ich benutze [email protected] seit Jahren. Benutzer wissen in der Regel genug, um das Spamverbot zu löschen.

Ansonsten benutze ich einfach ein Kontaktformular mit einem 'Captcha' und sende die Mail direkt von der Website.

0
Gary.Ray

Hier ist ein weiterer E-Mail-Verschleierer: Enkoder von Dan Benjamin. Es ist sowohl als Online-App als auch als eigenständige App für Mac erhältlich.

0
Alex

Wenn es Ihnen nichts ausmacht, Javascript zu verwenden, können Sie ROT13 zum Verschleiern der E-Mail-Adresse verwenden. Zum Beispiel siehe dies:
http://scott.yang.id.au/2003/06/obfuscate-email-address-with-javascript-rot13/

Persönlich bevorzuge ich die Verwendung eines Kontaktformulars und mache mir keine Sorgen um die Spambots, aber natürlich hängt alles von Ihren Anforderungen ab.

0
Mee

Wenn Sie ein Kontaktformular verwenden, können Sie auf unterhaltsame Weise zufällige Namen für Ihre Eingaben verwenden.

Ich erstelle zum Beispiel ein Kontaktformular, anstatt E-Mail als Eingabe zu verwenden, verwende ich liame, das gleiche mit name (eman) und comment (tnemmoc). Die Bots wissen eigentlich nicht, was diese Eingaben tun, also ignorieren sie sie einfach.

0
dkuntz2

Ich habe ein Google Text & Tabellen-Formular eingerichtet. Ich kann Formulareingaben einmal am Tag überprüfen und mein Posteingang ist nicht überflutet.

0
Sri