Email Adressen vor Spam schützen

 27. Dezember 2013

Mit dem Smarty-Plugin „mailto“ können Emailadressen verschleiert werden, was Schutz vor Spammails bietet. Das Plugin ändert die Zeichenfolge der Emailadresse im Quelltext so, dass sie von Spambots nicht lesbar ist. Erst im Internetbrowser wird diese dann wieder korrekt zusammengesetzt.

Eine mit „mailto“ verschleierte Emailadresse wird im Quelltext wie folgt angezeigt:

eval(decodeURIComponent('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%69%6e%66%6f%40%65%63%6f%6d%73%74%79%6c%65%2e%64%65%22%20%3e%69%6e%66%6f%40%65%63%6f%6d%73%74%79%6c%65%2e%64%65%3c%2f%61%3e%27%29%3b'))

Im OXID eShop ist das mailto-Plugin bereits standardmäßig integriert und wird zB. im Kontaktformular eingesetzt, um die Shop-Emailadresse zu schützen.
An manchen Stellen im Shop muss der Shopbetreiber jedoch selbst seine Emailadresse in eine CMS-Seite einfügen, zB. im Impressum, Datenschutz und in der Widerrufsbelehrung. Diese ist dann in vielen Fällen ungeschützt und findet sich dadurch schnell auf Spam-Mailinglisten wieder.

Code-Beispiele für verschlüsselte Emailadressen:

Wird anstelle der direkten Emailadresse in CMS-Seiten oder im Template folgender Code-Schnipsel eingesetzt, wird die Standard-Shopemailadresse verschleiert im Quelltext ausgegeben:

[{oxmailto address=$oxcmp_shop->oxshops__oxinfoemail->value encode="javascript"}]

Die Emailadresse wird dann im Browser wieder decodiert und korrekt als klickbarer Link angezeigt. Auch eine direkte Angabe einer beliebigen Emailadresse ist möglich:

[{oxmailto address="info@oxideshop.com" encode="javascript"}]

Bei Bedarf können auch Betreff (subject) und CC vorgegeben werden:

[{oxmailto address="info@oxideshop.com" encode="javascript" subject="Artikelanfrage" cc="you@domain.com,they@domain.com"}]

Als alternative Verschlüsselungsmethode steht „hex“ zur Verfügung, von smarty.net wird jedoch „javascript“ empfohlen. Lt. smarty.net ist die Verschlüsselung mit javascript nicht 100% sicher, jedoch wird angenommen, dass der Aufwand, die Emailadressen zu entschlüsseln, sich für Spammer nicht lohnen würde

Ungeschützte Emailadressen im OXID eShop:

Im OXID eShop wurde die Verschleierung der Emailadressen nicht konsequent genug umgesetzt, obwohl alle Voraussetzungen dafür vorhanden wären. In den Artikeldetails zB. wird unter „Fragen zum Artikel?“ die Emailadresse ungeschützt im Quelltext ausgegeben. Um dies zu verbessern, könnten in der Datei  /application/views/azure/tpl/page/details/inc/productmain.tpl  die Zeilen 124 bis 126 ( Shopversion 4.8 ) durch den folgenden Code ersetzt werden:

<li>
 [{assign var="mailadr" value=$oDetailsProduct->oxarticles__oxquestionemail->value|default:$oxcmp_shop->oxshops__oxinfoemail->value}]
 [{assign var="mailsubject" value='QUESTIONS_ABOUT_THIS_PRODUCT'|oxmultilangassign|cat:" "|cat:$oDetailsProduct->oxarticles__oxartnum->value}]
 [{assign var="mailtext" value='QUESTIONS_ABOUT_THIS_PRODUCT_2'|oxmultilangassign}]
 <span>[{oxmailto address=$mailadr encode="javascript" subject=$mailsubject text=$mailtext}]</span>
</li>

In der Standard-CMS-Seite „Passwort vergessen“ (oxforgotpwd) wird ebenfalls eine unverschlüsselte Shop-Emailadresse eingefügt.

Wir empfehlen, alle CMS-Seiten und ggf. auch Templatedateien einmal durchzusehen und direkt eingegebene Emailadressen wie oben vorgeschlagen zu ersetzen.