Zum Inhalt springen

display_errors = off – ja, aber …

Wenn es um die Sicherheit einer PHP Webapplikation geht gehört neben register_globals auch display_errors zu den Direktiven die man auf jeden Fall auf „off“ setzen sollte. Ich meine mich sogar zu erinnern, dass dies beim ZCE-Test abgefragt wird. Was tut man aber nun, wenn doch einmal ein Fehler auftritt, der nicht von den hoffentlich vorhandenen Logging-Mechanismen festgehalten wird? Und genau hier möchte ich ansetzen.

Die php.ini ist immer wieder spannend zu durchforsten und hier findet man auch eine Lösung für das benannte Problem. Es gibt eine Direktive, die nennt sich ganz einfach log_errors. Interessanterweise ist es so, dass diese recht oft auf on steht, aber error_log auskommentiert ist. Und dies sollte auf einem Produktivsystem nicht der Falls sein. Denn wenn ein Fehler auftritt kann man hiermit angeben, wo die Datei liegt, in der man diesen Fehler loggen möchte.
Nun hat man aber keinen Zugriff auf die php.ini und möchte diese schöne Funktion trotzdem nutzen. Also nutzt man in seiner Applikation beim Bootstrap ini_set und überschreibt die log_errors und error_log Einstellung der php.ini Datei. Somit kann man auftretende Fehler analysieren und man braucht keine Angst mehr vor der weißen Seite bei einem Fehlerhaften Aufruf zu haben.

Apropos logging. PHP bietet die Funktion error_log an. Damit kann man sich ein simples Logging System inkl Mailversand des Fehlers aufbauen. Ich bin zwar eher Freund eines richtigen und feingranular steuerbaren LoggingFrameworks, aber die Boardmittel von PHP sind durchaus ausreichend.

Published inAllgemein

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close