E-Mail-Adressen vor Mail-Bots schützen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Steffen
Mitglied
Beiträge: 42
Registriert: 22.12.2001 01:00
Wohnort: Jena
Kontaktdaten:

E-Mail-Adressen vor Mail-Bots schützen

Beitrag von Steffen »

Im Netz sind die verschiedensten Bots/Spiders unterwegs, die Internetseiten nach E-Mail-Adressen abgrasen und diese dann zu Werbezwecken sammeln.

Dagegen kann man sich schützen, indem man die E-Mail-Adressen ASCII-verschlüsselt ausgibt.

Hier eine Funktion dazu, die dies übernimmt:

Code: Alles auswählen

function asciiencode($email)
{
  $encodedemail	= '';

  for($i = 0; $i < strlen($email); $i++) $encodedemail .= '&#' . ord(substr($email,$i)) . ';';

  return $encodedemail;
}
In der jeweiligen Seite muß das dann nur noch eingebunden werden. Z.B. so:

Code: Alles auswählen

<a href="mailto:' . asciiencode('webmaster@server.cc') . '">' . asciiencode('webmaster@server.cc') . "</a>
Für den Anwender macht das keinen Unterschied, ob ASCII-kodiert oder nicht, da der Browser die entsprechenden Zeichen auf dem Bildschirm ausgibt. E-Mails-Bots können die kodierten E-Mails aber nicht verarbeiten.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Re: E-Mail-Adressen vor Mail-Bots schützen

Beitrag von PhilippK »

Steffen hat geschrieben:E-Mails-Bots können die kodierten E-Mails aber nicht verarbeiten.
Da wird auch bestimmt nie einer auf die Idee kommen, die Bots entsprechend umzuschreiben...

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Steffen
Mitglied
Beiträge: 42
Registriert: 22.12.2001 01:00
Wohnort: Jena
Kontaktdaten:

Beitrag von Steffen »

Bisher nicht. Aber selbst wenn. Ich habe eine Sammlung von Browser-Kennungen mit Bots. Die kann man ja auch noch abfragen und je nach Bot die Ausgabe von E-Mail-Adressen ganz unterdrücken. Klar auch die Browserkennung kann man frisieren, wenn der Bot selbstgeschrieben ist sowieso. Aber die meisten existierenden Bots bleiben durch die oben genannte Methode außen vor, da der Schutz vor ihnen noch nicht sehr verbreitet ist.

Es gibt noch eine Möglichkeit, sich zu schützen. Einfach erst auf der Client-Seite die Adresse einfügen via JavaScript. Nachteil hier, wenn der Client kein JavaScript unterstützt oder dieses deaktiviert ist, funktionieren die Mail-Links nicht. Aber trotzdem, wen's interessiert:

Code: Alles auswählen

<script language="JavaScript" type="text/javascript">
<!--
document.write('<a href="mailto:webmaster@server.cc">webmaster@server.cc</a>');
//-->
</script>
Benutzeravatar
|Crazor|
Mitglied
Beiträge: 78
Registriert: 09.04.2003 15:43
Wohnort: Jever
Kontaktdaten:

Beitrag von |Crazor| »

Naja, also diese ASCII verschlüsselung nützt auch nix, die jagen einfach den ganzen code der seite durch sowas wie html_entity_decode(), und schwupps sind die adressen wieder sichtbar...
Steffen hat geschrieben:Es gibt noch eine Möglichkeit, sich zu schützen. Einfach erst auf der Client-Seite die Adresse einfügen via JavaScript. Nachteil hier, wenn der Client kein JavaScript unterstützt oder dieses deaktiviert ist, funktionieren die Mail-Links nicht. Aber trotzdem, wen's interessiert:

Code: Alles auswählen

<script language="JavaScript" type="text/javascript">
<!--
document.write('<a href="mailto:webmaster@server.cc">webmaster@server.cc</a>');
//-->
</script>
Naja, nützt auch nix, wenn ich den ganzen code der seite stumpf nach @'s durchforste und dann nen simplen algo prüfen lasse ob es sich beim wort drumherum um ne mail addy handeln könnte...
der individuelle spamschutz in der art crazorATweb[DONOTSPAM]DOTde oder irgendwie so is immernoch am wirkungsvollsten, solang man kreativ ist und nicht einfach die zeichen durch die wörter ersetzt und jeder was anderes macht.
Alle skript-spamschutz-mechanismen können umgangen werden, wenn man will. vor allem, wenn jeder seine möglichkeiten verrät ;)
Benutzeravatar
Steffen
Mitglied
Beiträge: 42
Registriert: 22.12.2001 01:00
Wohnort: Jena
Kontaktdaten:

Beitrag von Steffen »

Erste Methode wird von den Mail-Spidern noch nicht verwendet, weil's auch ohne diese noch viel zu einfach ist, Mails zu sammeln.

Und mit JavaScript braucht man auch nur dies zu tun:

Code: Alles auswählen

<script language="JavaScript" type="text/javascript"> 
<!-- 
var name = 'webmaster';
var domain = 'server.cc';

document.write('<a href="mailto:' + name + '@' + domain + '">' + name + '@' + domain + '</a>');
//--> 
</script>
Antworten

Zurück zu „Coding & Technik“