PHP absichern

So wird PHP sicherer

Misstrauen Sie Nutzereingaben

Robots und Angreifer werden stets versuchen, in URLs, Funktionsaufrufen oder Formularfeldern Code einzuschleusen, um herauszufinden, wie die PHP-Anwendung reagiert. Die wichtigste Regel ist das Misstrauen gegenüber Benutzereingaben. Akzeptieren Sie nur Eingaben, die Sie geprüft haben. Das macht mehr Arbeit bei der Entwicklung, erhöht aber die Sicherheit.

Kontrolle der Benutzerrechte: Neben der wichtigen Absicherung von PHP sollten Sie nicht vergessen, die Rechte im Ordner mit den HTML-Dokumenten zu kontrollieren.
Kontrolle der Benutzerrechte: Neben der wichtigen Absicherung von PHP sollten Sie nicht vergessen, die Rechte im Ordner mit den HTML-Dokumenten zu kontrollieren.

Ein Beispiel: Ein Formular, in das der Nutzer sein Geburtsdatum eintragen soll, erlaubt Tag und Monat jeweils zweistellig und eine vierstellige Jahresangabe. Alles andere ist nicht erlaubt. Diese Angaben müssen nun geprüft werden. Dazu bedienen Sie sich regulärer Ausdrücke. Der Umgang damit fällt Einsteigern nicht ganz leicht, weil nicht nur die Syntax erlernt werden will, sondern zuerst die passende Bedingung gefunden werden muss, die dann dargestellt werden soll. Überprüfen Sie also bei allen Eingaben des Nutzers in Form von „POST“ oder „GET“ die erlaubten Zeichen und die Länge der Eingabe. Eine Validierung für das genannte Beispiel sieht im Prinzip so aus:

if (! preg_match("/^[0-9]{1,2} $/", $_GET['tag']))
{
// Fehlermeldung
}
if (! preg_match("/^[0-9]{1,2} $/", $_GET['monat']))
{
// Fehlermeldung
}
if (! preg_match("/^[0-9]{4} $/", $_GET['jahr']))
{
// Fehlermeldung
}

Wenn Sie diese Maßnahmen bei der Entwicklung eigener Scripts und der Konfiguration des Servers berücksichtigen, haben Sie prominente Einfallstore von Hackern und Datendieben erfolgreich geschlossen.

(PC-Welt/ad)