[an error occurred while processing this directive]

Programme von Machern für Macher

Die Grammiweb-Produktreihe hält viele praktische Tools für Webdesigner bereit

Hier klicken und mehr erfahren

Finden Sie harmonische Farben

Mit MyColor Studio, dem professionellen Farbmanagement für Ihre Webseite

Hier klicken und mehr erfahren

[an error occurred while processing this directive]

(Stand: 22.12.24, Adresse: http://www.grammiweb.de/anleitungen/ka_emailsicher.shtml)

 

Spamsichere Emailadressen mit PHP

Werbeemails zuhauf, Angebote, die Potenz zu steigern, das Arbeitswerkzeug zu vergrößern oder willige Damen im Web zu besuchen – Spam kennt wohl jeder, und der Nervfaktor steigt unaufhörlich. Selbst die ausgeklügeltsten Filterregeln, die besten Antispam-Programme und das vorsichtigste Verhalten im Web helfen da häufig nur wenig, denn Spamversender sind nicht nur lästig, sondern auf recht erfindungsreich bei der Beschaffung neuer Opferadressen.

Listige Programme, Spybots, Spambots oder wie auch immer benannt, durchforsten das Internet unaufhörlich nach Adressen und melden jeden Fund an ihren Absender, auf dass dieser Datenbanken gigantischen Ausmasses anlegen und Spammails in Tausender- oder auch Millionenstückzahlen versenden kann.

Mit einem kostenlosen PHP-Script können Sie den Spammern zumindest diese Quelle für ihre Delinquentenaquirierung nehmen, und erhalten, sozusagen als positiven Nebeneffekt, flexible Emailadressen, die jederzeit ohne nennenswerten Aufwand geändert werden können (was noch effektiver wird, wenn SSI zum Einsatz kommt). Das Script wandelt die Emailadresse in (für den Browser lesbare) ASCII-Werte um, welche von Spambots nicht erkannt werden. Wie das funktioniert, und wie einfach das ist, zeigen wir Ihnen in der folgenden Kurzanleitung:

Bevor es losgeht

Das in dieser Anleitung beschriebene PHP-Script MailProtect wandelt die ihm übergebenen Parameter in ASCII-Werte um, die zwar vom Browser interpretiert werden, für Spam-Roboter aber unverständlich sind. So wird durch MailProtect der Link

<a href="mailto:info@domain.tld">info(at)domain.tld</a>

wie folgt im Quelltext vermerkt (wir haben zur besseren Formatierung einige Leerzeichen eingefügt):

<a href="mailto:&#105;&#110;&#102;&#111;&#64;&#100;&
#111;&#109;&#97;&#105;&#110;&#46;&#116;&#108;&#100;">
&#105;&#110;&#102;&#111;&#40;&#97;&#116;&#41;&#100;&
#111;&#109;&#97;&#105;&#110;&#46;&#116;&#108;&#100;</a>

Die Besucher erhalten trotzdem weiterhin einen normalen Emaillink mit voller Funktionalität.

In den Beispielen in dieser Anleitung haben wir statt dessen die "Klarschrift"-Variante verwendet, um die Lesbarkeit nicht unnötig zu komplizieren.

Los geht's

Zuerst einmal benötigen Sie das PHP-Script "MailProtect", welches wir auf unserer Servicewebsite zum kostenlosen Download bereitgestellt haben.

Nach dem Herunterladen und Entkomprimieren (es liegt im ZIP-Format vor, Sie benötigen also ein Packprogramm wie z. B. 7-zip) legen Sie das Script an beliebiger Stelle auf Ihrer Webpräsenz ab. Für die späteren Beispiele gehen wir davon aus, dass es im Unterverzeichnis /scripte zu finden ist.

Die Einbindung unterscheidet sich jetzt nach eingesetzter Technik, weshalb Sie nun entscheiden sollten:

  • Verwenden Sie Server Side Includes (SSI), und wollen Sie mit MailProtect ein flexibles System schaffen, das Sie mit minimalem Aufwand anpassen können? Dann geht's hier weiter…

    oder

  • Verwenden Sie PHP, und wollen Sie mit MailProtect eine generelle Anlaufstelle schaffen, die immer den gleichen Emaillink erzeugt? Dann geht's hier weiter…

Die Unterschiede zwischen beiden Varianten beziehen sich nur auf die durch die Technik vorgegebene Art der Einbindung. In der Funktionsweise sind beide Möglichkeiten gleich.

Ein flexibles, sicheres System mit SSI

Erstellen Sie einfach eine Datei, mit der Sie das MailProtect-Script aufrufen und welches die erforderlichen Parameter übergibt. Dieser Datei können Sie dann den Namen der damit verbundenen Emailadresse geben, dann wird's leichter, sie zu identifizieren.

Beispiel:

Sie legen alle vorhandenen SSI-Fragmente im Ordner /ssi-includes ab. Erstellen Sie nun eine neue Datei, die Sie info.shtml nennen und in eben diesem Ordner speichern. Diese Datei bekommt folgenden Inhalt (in einer Zeile, was leider durch die Formatierung nicht aus dem Beispiel hervorgeht):

<!--#include virtual="/scripte/mailprotect.php?
mpname=info&mpdomain=domain.tld" -->

Wird info.shtml nun aus einer Seite heraus mittels

<!--#include virtual="/ssi-includes/info.shtml" -->

aufgerufen, wird automatisch (nachdem MailProtect die Umwandlung vorgenommen hat) folgender Link zurückgeliefert (hier in Klarschrift, real in ASCII-Werten):

<a href="mailto:info@domain.tld">info(at)domain.tld</a>

Im Browser erscheint dann:

info(at)domain.tld

Wenn Sie mehr als eine Emailadresse verwenden, legen Sie einfach weitere SSI- Fragmente mit den jeweiligen Namen an (webmaster.shtml, irgendwas.shtml) und binden Sie den oben genannten Quelltext mit diesen Namen ein. So haben Sie alle Emailadressen in geschützter Form an zentraler Stelle, was ein Ändern wesentlich vereinfacht.

Natürlich können Sie MailProtect auch direkt aus SSI-Seiten heraus aufrufen:

<!--#include virtual="/scripte/mailprotect.php?
mpname=info&mpdomain=domain.tld" -->

Ein generelles, sicheres System mit PHP

Soll nur eine Emailadresse verwendet werden, oder wollen Sie diese direkt vom Seitenquelltext heraus vorgeben, können Sie MailProtect mit folgender Zeile einbinden:

<? include("/scripte/mailprotect.php"); ?>

Dabei werden dann die Standardvorgaben genutzt, die Sie im Script selbst festlegen können:

  • /* Standardemailadresse */
    $mp_name = "name";

    Die Standardemailadresse, also das, was vor dem "@"-Zeichen stehen soll

  • /* Standarddomain */
    $mp_domain = "domain.de";

    Die Standarddomain, also das, was nach dem "@"-Zeichen stehen soll

  • /* Verbindung (für Anzeige) */
    $mp_verb = "(at)";

    Hier können Sie für die Ausgabe auch noch das "@"-Zeichen ersetzen

Sie können natürlich auch Parameter übergeben, zum Beispiel

…mailprotect.php?mpname=info&mpdomain=domain.tld

wodurch folgender Link erzeugt wird (hier in Klarschrift, real in ASCII-Werten):

<a href="mailto:info@domain.tld">info(at)domain.tld</a>

Im Browser erscheint er dann wie folgt:

info(at)domain.tld

Das war's auch schon

Wenn Sie diese Anpassungen vorgenommen haben, kann alles auf dem Webserver abgelegt werden. Von nun an haben Spambots bei Ihren Seiten keine Chance mehr, Informationen zu generieren.


Zurück zum Inhaltsverzeichnis

[an error occurred while processing this directive] [an error occurred while processing this directive]

© Grammiweb.de Internetlösungen. Alle Rechte vorbehalten. Stand: 22.12.2024
Seitenanfang - Sponsor werden - Datenschutz - Medien - Impressum - Werbung - Hilfe - Kontakt