session.php mit unnötigen Angaben???

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.
Antworten
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

session.php mit unnötigen Angaben???

Beitrag von MrMind »

Moin Leutz,

habe mir mal die session.php vom phpBB2.0.10 angeguckt und mir ist folgendes aufgefallen das ich mir noch net klären konnte:

in den Funktionen wird die Variable $SID global eingeschleust und ihr lediglich eine neue Zuweisung am Ende der jeweiligen Funktion zugeteilt.
Doch bei der Return-Anweisung werden andere Daten zurück gegeben, was wiederum doch bedeutet, das die $SID in den Funktion keinen Sinn hat (außer natürlich in der append_sid() ), da die Veränderung lediglich lokal statt findet und im Script eigentlich nichts bewirkt oder seh ich das Falsch???

Hier ein Beispiel:

In der session_begin()

Code: Alles auswählen

global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
und dann taucht $SID erst wieder am Ende der Funktion auf:

Code: Alles auswählen

$SID = 'sid=' . $session_id;

return $userdata;
}
Diese Veränderung wirkt sich ja nur in der Funktion aus, aber net auf das Script welche die Funktion aufruft oder???

Genauso was seltsames ist folgendes:

in der Funktion session_pagestart()

wird die Variable $userdata mit unset() gelöscht. Macht eigentlich ja Sinn, wenn man sie komplett neu Zuweisen möchte, doch die Variable $userdata wird weder global noch als Parameter übergeben, sprich sie existiert nicht. Warum wird sie dann gelöscht, wenn sie nicht vorhanden ist???


Ich hoffe ihr könnt mir ein kleinen Einblick in diese misteriösen Codeschnipsel geben ;)

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Ok das Thema hat sich erledigt.

Hatte nochmal selbst getestet mit eigenen Funktionen und habe dadurch meine Bestätigung bekommen, das PHP nicht wie C/C++ die Variablen die es einbindet lokal handhabt sondern global verändert.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Antworten

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