WordPress antispambot Funktion
Eine wenig bekannte Funktion in WordPress ist antispambot() aus der wp-includes/formatting.php. Es ist eine Art Obfuscator, der die Email Adresse verschleiert. Es wird dabei aber kein klickbarer mailto-Link erzeugt. Meine Email mit antispambot sieht im Quelltext so aus:

Ich habe in dem Screenshot die Zeile umgebrochen, damit das Bild nicht zu breit wird. benutzt wird die Funktion folgendermaßen:
echo antispambot('test@test.de');
// oder im Kommentarbereich
echo antispambot(get_the_author_email);
Ob es wirklich etwas bringt? Who knows….
- Kategorie: WordPress
- Tags: spam, theme, WordPress
- Kommentar-Feed | Trackback URL
- Gelesen: 2215 | Heute: 3
- einen Kommentar schreiben
9 Kommentare
2 Pingbacks

Klingt sehr interessant – wollte meine mail-Adresse im Impressum schon lange mal “irgendwie” schützen.
Bringt was, ich mache das schon immer so, auf NonWP-Seiten oder ohne PHP setze ich die Zeichen händisch, siehe Beitrag.
blöd halt nur, das man die Funktion nicht beim Seite schreiben verwenden kann, es sei denn, man hat exec-php.
@Micha
…schau mal hier:
http://sokai.name/2009/mailadressen-in-wordpress-schuetzen/
Geht ganz schnell, ist ohne PHP-Exec und ist IMHO ein ganz guter Weg (Auswand/Kosten).
Grüße!
Super! Das ist schön, man stößt einen Beitrag an und zum Schluß kommt eine coole Lösung heraus. Werds gleich mal testen.
Danke sokai!
Was lesen eigentlich die Bots aus? Den mailto-Link oder den Ankertext? Ich denke eher den mailto-Link.
Hat da jemand Ahnung?
@Anstoß
Jupp – …diese Dynamik finde ich auch ‘faszinierend’!
@Bots
*hmmm* IMHO lesen die beides aus.
Jedoch verfügen sie nur über ein gewisses Maß an ‘Intelligenz’, so dass die spambot-Funktion schon ganz QL ist, denn die wirft die Mailadresse ja nach nem Zufallsprizip aus (was dann doch nicht ganz so trivial für die Bots zu ‘entschlüsseln’ ist).
Aber gut, dass du fragst!
*thx*
Ich habe nämlich gerade festgestellt, dass meine mailto-Adresse nicht ‘obfuskiert’ wurde und diese somit ein Mal im Klartext – und damit als Futter für die Bots – im Quellcode der Seite auftauchte.
…jetzt isses grad repariert…
So ganz klappts noch nicht, falls man einen anderen Ankertext benutzen will. So gehts dann:
<?php
function wp_secure_mail($atts) {
extract(shortcode_atts(array(
"mailto" => '',
"txt" => ''
), $atts));
$mailto = antispambot($mailto);
$txt = antispambot($txt);
return '<a href="mailto:'.$mailto.'">'.$txt.'</a>';
}
add_shortcode('sm', 'wp_secure_mail');
?>
Und benutzen tut man es so:
[sm mailto="foo@bar.com" txt="here is my mail"]