Sicherheit erhöhen: Empfehlungen zur Fehlerbehandlung unter PHP

Dieser Artikel gibt Empfehlungen zu den Einstellungen unter PHP hinsichtlich der Ausgabe von Fehlern, Warnungen und Notices.

Die Ausgabe von Fehlern und Warnungen innerhalb einer Präsenz kann einem potentiellen Angreifer mehr Angriffsfläche geben, da diesem mehr Informationen preisgegeben werden.

Aus diesem Grund empfehlen wir, PHP für Ihre Domain so zu konfigurieren bzw. einzustellen, dass die Ausgabe von Fehlern generell unterbunden wird. Dies wird in der Regel über die Konfigurationsdatei von PHP - die php.ini - vorgenommen.

Beispiel: Auszug aus der php.ini mit abgeschalteter Fehlerausgabe und -meldungen

; Fehlermeldungen komplett abschalten:
error_reporting = 0
; Fehlerausgabe ausschalten
display_errors = Off
; ...

Die pre.php der BASE Projektbasis liefern wir standardmässig so aus, dass über diese globale Steuerungsdatei die Fehlermeldungen in der Ausgabe auch komplett abgeschaltet werden:

Beispiel: Auszug aus der /[IHR-LAYOUT-PROJEKT]/wGlobal/scripts/pre.php (Fehlermeldungen unterdrückt)

// ...
// Ausgabe von Fehlern wird unterbunden
error_reporting(0);
// ...

Um während der Entwicklung bzw. Arbeit als Administrator die Fehlermeldungen trotzdem zu erhalten, können Sie diese über die pre.php des Projektes wieder aktivieren. Setzen Sie dies gleich zu Beginn der pre-Datei.

Beispiel: Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/scripts/pre.php mit aktivierte Fehlerausgabe

// ...
// Fehlermeldungen werden aktiviert:
error_reporting(E_ALL ^ E_NOTICE);
// Fehlerausgabe wird aktiviert:
ini_set('display_errors', 1);
// ...

Auf diese Weise stellen Sie sicher, dass durch das globale Deaktivieren der Fehlerausgabe auch Weblication® unabhängige PHP-Skripte bei Fehlern keine weiteren Informationen ausgeben. Über die pre-Datei ermöglichen Sie es aber in Weblication® CMS - gerade in der Entwicklungsphase - schnell debuggen zu können.