Update ab 2.0.9 und Auswirkungen auf manche Mods

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Gesperrt
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Update ab 2.0.9 und Auswirkungen auf manche Mods

Beitrag von PhilippK »

Hallo zusammen,

mit dem Update auf 2.0.9 hat sich eine kleine aber teilweise weitreichende Änderung am Code ergeben. Nach dem Update wird das Verhalten der PHP-Direktive register_globals = Off simuliert (bei einigen Providern ist diese Einstellung bereits standardmäßig so eingestellt). D.h., dass z.B. über ein Formular übergebene Variablen nicht automatisch erstellt werden und daher manuell abgerufen (und dabei idealerweise gleich geprüft) werden müssen (Details siehe unten).
Diese Entwicklung ist insofern zu begrüßen, da die standardmäßige Erstellung der übergebenen Variablen immer wieder zu Sicherheitslücken führte und damit diese potentielle Schwachstelle dauerhaft geschlossen wird.

Jedoch haben sich einige Mod-Entwickler in der Vergangenheit nicht an die Coding-Guidelines der phpBB Group gehalten und diese Variablen ungeprüft verwendet. Daher kann es sein, dass nach dem Update auf phpBB 2.0.9 einige Mods nicht mehr funktionieren (das gleiche Problem kann auftreten, wenn euer Provider die Einstellung ändert).

Um das Problem zu beseitigen, kontaktiert ihr am besten den Autor des Mods bzw. passt den Mod selbst an. Zwar würde eine Beseitigung des entsprechenden Codes das Problem temporär lösen - allerdings auch nur bis zu dem Zeitpunkt, wo euer Provider die entsprechende PHP-Einstellung ändert.

Gruß, Philipp

Noch ein paar Hintergrundinformationen:

In älteren PHP-Versionen wurden Daten, die z.B. über ein Formular übergeben wurden, automatisch in eine global verfügbare Variable gesetzt. Enthielt ein Formular ein Feld mit dem Namen "Nachname", so war der Wert dieses Feldes danach in der Variable $Nachname verfügbar. Wurde diese Variable im Code verwendet, ohne dass sie vorher überprüft wurde, so entstanden dadurch teilweise größere Sicherheitslücken.
Seit PHP 4.1.0 wird die Verwendung dieser globalen Variablen nicht mehr empfohlen und die automatische Erstellung dieser Variablen ist seit PHP 4.2.0 standardmäßig deaktiviert.
Damit auf die übergebenen Werte zurückgegriffen werden kann, stehen spezille Arrays zur Verfügung, die die übergebenen Werte beinhalten. So kann nun auf das Feld (je nach Situation) mit $HTTP_POST_VARS['Nachname'] zugegriffen werden. Neben dieser Variante gibt es noch eine neuere Kurzform mit $_POST['Nachname']. phpBB 2.0.x verwendet aus Kompatibilitätsgründen die erste Variante, phpBB 2.2.x wird die zweite Variante verwenden. Bei Neuentwicklungen sei grundsätzlich zur zweiten Variante geraten, da die alten Versionen seit PHP 5.0.0 deaktiviert werden können.

Siehe auch:
http://www.php.net/manual/de/language.v ... efined.php
http://www.php.net/release_4_1_0.php
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Gesperrt

Zurück zu „phpBB 2.0: Mods in Entwicklung“