Seite 1 von 1
E-Mail-Adressen vor Mail-Bots schützen
Verfasst: 09.04.2003 14:32
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.
Re: E-Mail-Adressen vor Mail-Bots schützen
Verfasst: 09.04.2003 15:08
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
Verfasst: 09.04.2003 21:51
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>
Verfasst: 10.04.2003 20:49
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

Verfasst: 10.04.2003 21:04
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>