| Fehlermeldungen und Fehlerbehandlung - Display Errors |
Seite 3 von 7
Display Errors / FehlerausgabeIm 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. 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 ErrorsAuf 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. |