Zu beachten beim Einsatz von Suhosin

Der Einsatz des Suhosin-Patch in PHP erfordert entsprechende Kenntnisse hinsichtlich der gesetzten Parameter.

Aus Sicherheitsgründen setzen manche Serveradmins bzw. Provider auf das Suhosin-Patch des Hardened-PHP Projektes von Stefan Esser.

In Wikipedia ist das Patch wie folgt umschrieben:
"Suhosin ist ein von Stefan Esser, einem ehemaligen Mitglied des „PHP Security Response Team und Mitentwickler von PHP, entwickeltes Schutzsystem für PHP-Installationen. Es wurde entworfen, um den Server und die Benutzer vor bekannten und unbekannten Fehlern in PHP-Anwendungen und im PHP-Kern zu schützen."

Nun kann es vorkommen, dass - je nach Grösse des Projektes bzw. einer Datei - die Default-Einstellungen von Suhosin zu restriktiv sind.
Bei Seiten mit einer hohen Anzahl an Postvariablen müssen evtl. folgende Werte hochgesetzt werden:

  • suhosin.post.max_vars
  • suhosin.request.max_vars

Ein Wert von z.B. 1000 reicht bei der Bearbeitung von Dateien mit sehr vielen Eingabefeldern meist nicht aus.
Setzen Sie den Wert der oben genannten Einträgen auf z.B. 10000 hoch.

Die Problematik des Suhosin-Patch zeigt sich z.B. bei folgenden Verhaltensmustern:

  • Elemente / Daten werden im Editor nicht angezeigt bzw. gespeichert
  • Navigation speichert diverse Punkte nicht (mehr)
  • etc.

Hinweise

Es sind Fälle bekannt, bei denen bereits weitaus weniger als 1000 Felder Probleme beim Speichern einer Seite erzeugen und direkt auf einen Skript-Fehler (Error 500) stoßen! Beim Einsatz von Schutzsystemen wie z.B. Suhosin, kann je nach Einstellung (z.B. max. Anzahl an Eingabefeldern) keine Gewährleistung gegeben werden!