OXID Module und der suhosin-Patch für PHP

Immer mehr Provider gehen dazu über, aus Sicherheitsgründen auf den Webservern den sog. suhosin-Patch für PHP zu installieren. An sich eine nette Sache, nur hat dieser manchmal unerwünschte und meist erst einmal auch undurchschaubare Nebenwirkungen – Module funktionieren plötzlich nicht mehr, Uploads klappen nicht o.ä., ohne dass es einen sichtbaren Fehler oder Hinweis geben würde.

Der Grund dafür sind meist die zum Teil sehr restriktiven Einstellungen, die der Patch mit sich bringt, u.a. werden die Länge von GET- oder POST-Parametern beschränkt usw. Uns erreichen dann immer wieder Support-Anfragen, dass nach einem Server-Wechsel/-Update plötzlich Modul XY nicht mehr funktionieren würde. Hier hilft dann ein Blick in das System-Log des Servers, auf das man hoffentlich Zugriff hat – normalerweise schreibt der Patch Log-Einträge in die Datei „/var/log/syslog„, dort stehen dann Einträge wie z.B.

… suhosin[14020]: ALERT – configured POST variable limit exceeded – dropped variable ’sExportMinStock‘ …

Abhilfe schafft man, indem man entweder in die php.ini oder in eine eigene suhosin.ini Datei (am besten mit phpinfo() ausgeben lassen, welche Konfigurationsdateien für PHP/suhosin verwendet werden bzw. im OXID-Shop-Admin unter „Service / Systeminfo“ nachsehen) die gewünschten Werte einträgt, z.B. für die Limits der GET-/POST-/REQUEST-Variablen:

suhosin.get.max_value_length = 4096

suhosin.post.max_array_index_length = 1000
suhosin.post.max_name_length = 1000
suhosin.post.max_totalname_length = 1000
suhosin.post.max_value_length = 900000
suhosin.post.max_vars = 10000
suhosin.request.max_array_depth = 1000
suhosin.request.max_array_index_length = 1000
suhosin.request.max_totalname_length = 1000
suhosin.request.max_value_length = 900000
suhosin.request.max_vars = 9000

Danach den Webserver neu starten und das betroffene Modul sollte wieder funktionieren … wenn nicht, noch einmal einen Blick in die Log-Datei riskieren 🙂



0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.