E-Mail-Verschlüsselung in WordPress – antispambot()
E-Mail-Adressen können in WordPress mit einer hauseigenen Funktion codiert werden. Mit Hilfe eines praktischen Shortcodes, kann die Funktion im Editor genutzt werden.
Mit Hilfe der antispambot()
-Funktion von WordPress können u.a. E-Mail-Adressen verschlüsselt werden. Das die Funktion nach wie vor eher unbekannt ist, liegt sicher auch an der unglücklichen Bezeichnung. Denn der Name antispambot()
erlaubt kaum Rückschlüsse auf die Funktionsweise. Doch mit wenigen Handgriffen kann das Feature sinnvoll in ein Projekt integriert werden.
Was genau macht antispambot()?
antispambot()
codiert Zeichenketten. Eine E-Mail-Adresse die an die Funktion übergeben wurde, kann anschließen von vielen Spam-Bots nicht mehr aus dem HTML-Code ausgelesen werden.
Wenn ihr folgendes Snippet im Template einsetzt
<?php echo antispambot('info@kulturbanause.de'); ?>
erzeugt WordPress daraus folgenden HTML-Code:
info@kulturbanause.de
Die meisten(!) Spam-Bots können damit nichts anfangen.
E-Mail-Adressen über Shortcodes verschlüsseln
Der WordPress-Codex bietet im Zusammenhang mit der soeben kennengelernten Funktion ein interessantes Snippet für einen Shortcode an. Kopiert zunächst folgenden Code in die functions.php
des Themes, oder verwendet ein seitenspezifisches Plugin:
function wpcodex_hide_email_shortcode( $atts , $content = null ) {
if ( ! is_email( $content ) ) {
return;
}
return '<a href="mailto:' . antispambot( $content ) . '">' . antispambot( $content ) . '</a>';
}
add_shortcode( 'email', 'wpcodex_hide_email_shortcode' );
Anschließend kann über den Shortcode eine E-Mail-Adresse verlinkt und verschlüsselt werden. Die Verwendung im WordPress-Editor sieht also beispielsweise so aus:
[email]info@kulturbanause[/email]
Hallo und danke für den guten Tipp.
Unter Punkt 3.3 des Blogs https://www.hosteurope.de/blog/15-moeglichkeiten-die-e-mail-adresse-geschuetzt-darzustellen/# steht, dass Hex-Codierung besser als URL-Codierung (ASCII) wirke, zumal es die mailto-Anweisung mit codiert.
In der WordPress-Code-Referenz https://developer.wordpress.org/reference/functions/antispambot/ lese ich, dass man Hex-Endcoding mittels Integer-Wert 1 anschalten kann. Wo muss ich den Integer-Wert einfügen oder ändern, damit die Email-Adressen per Hex-Codierung geschützt werden?
Naja das ist nicht wirklich verschlüsselt :D html entity umwandeln ist nicht schwer.
Ich würde eher die Email mit JS ins HTML schreiben zwar steht dann auch irgendwo die Email aber die Bots müssten dazu die JS Datei öffnen.
Oder einfach ein Kontaktformular mit Captcha :D
Hallo,
was bedeutet denn „die meisten Spambots können nichts damit anfangen“? Also wie viel % können damit was anfangen und wie viele ca. nicht? Ist denn irgendwo notiert, ob sich die Verschlüsselung dynamisch verändern wird? Denn sonst ist es ja eigentlich nur noch eine Frage der zeit, bis die Bot-Entwickler aufrüsten, sobald sie ein Schema erkannt haben.
Danke aber für das Plugin!
VG
Christoph
Sehr sehr interessant!
Ich habe vor ein paar Wochen eine extra Funktion in mein Projekt eingefügt, die das gleiche bewerkstellig. Wieder was dazugelernt.
Danke
Marc