phpBuddy

Webhosting Gutscheine

Auf der Suche nach einem top Provider? Dann lohnt ein Blick auf diesen Artikel - Gutscheine zum Geld sparen gibt's inklusive!

Sie sind hier: Startseite Fehlerbehandlung
Fehlermeldungen und Fehlerbehandlung - Display Errors
Beitragsseiten
Fehlermeldungen und Fehlerbehandlung
Error Reporting
Display Errors
Fehler protokollieren
Eigene Fehlerbehandlung
Exceptions
Fazit und Download
Alle Seiten

Display Errors / Fehlerausgabe

Im Gegensatz zum Error Reporting, bei dem man festlegen kann welche Art von Fehlermeldung angezeigt werden sollen, dient Display Errors dazu das gesamte Fehlerausgabe-System an-/auszuschalten. Da die Fehlerausgabe tiefer in's System eingreift als das Ausgeben von Fehlermeldungen, muss man hier auch anders vorgehen um Einfluss auf das Verhalten zu nehmen.

Möchte man zur Laufzeit des Script die Fehlerausgabe deaktivieren, so gibt es dafür nicht etwa den Befehl display_errors(0), sondern wir müssen direkt die Konfigurationsdatei von PHP ansprechen, die PHP.ini:

ini_set( 'display_errors', 'Off' );

Diese Methode hat aber einen Haken. Da der Befehl natürlich erst dann ausgeführt werden kann, wenn das Script abgearbeitet wird, kann es aber bereits vorher schon zu fatalen Fehler kommen, die dann trotzdem ausgegeben werden.
Deswegen ist es besser, wenn man den Wert direkt in der PHP.ini ändert, sofern man darauf Zugriff hat. Leider ist dies häufig nicht der Fall, wenn man nur Mietwebspace sein Eigen nennt. Um den Wert in der PHP.ini zu ändern sucht man die entsprechende Zeile und ändert den Wert:

display_errors = Off

Sollte vor der Zeile ein Semikolon (;) sein, so ist dieses zu entfernen, da es ein Kommentarzeichen ist um die Zeile zu deaktivieren. Anschließend muss der Webserver, in der Regel Apache, neu gestartet werden, bzw. veranlasst werden, die Konfiguration neu zu laden.

Sollte man keinen direkten Zugriff auf die PHP.ini haben, so kann man versuchen die Fehlerausgabe via .htaccess zu beeinflussen. Dazu fügt man in die .htaccess Datei diese Zeile hinzu:

php_flag display_errors Off

Wenn man nun eine Webseite aufruft und es kommt zu einem Fehler, meistens 500 Internal Server Error, dann hat man leider keine Berechtigung diesen Wert per .htaccess zu ändern. In dem Fall hilft nur ein Anfragen an den Provider, ob sie display_errors für einen auf Off setzen können. Wenn man höflich anfragt, sind die Provider meistens bereit dazu.


Fazit für Display Errors

Auf einem Produktiv-System sollte man auf jeden Fall das Anzeigen von Fehlermeldungen komplett deaktivieren. Damit entziehen wir Angreifern quasi die Grundlage für viele Arten von Angriffe: das sammeln von Informationen über unsere Seite.