Globale Variablen

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
markusbauer
Mitglied
Beiträge: 9
Registriert: 20.06.2004 19:25

Globale Variablen

Beitrag von markusbauer »

Hallo!

Ich habe das phpbb Forum mit meiner Seite verknüpft. Meine Seite verwendet jetzt das Templatesystem und das Datenbank und das Rechtesystem von phpbb mit. Dazu müssen natürlich auch auf den Intranetseiten die common.php unsw eingebunden werden.

Allerdings verwende ich in meiner Intranetseite häufig globale Variablen, wie $PHP_SELF und alles, was in $_SERVER enthalten ist.

Doch phpbb muss diese mit Gewalt löschen (vor dem Einbinden der PHPbb header sind alle Variablen noch wie gewohnt vorhanden).


WIESO macht phpbb das, welchen Zweck soll das haben??

Das ist mehr als lästig!! Als kleines "Workaround" habe ich die wichtigsten Variablen gesichert und stelle sie nachher wieder her.
Aber das kann es doch nicht sein! Wie kann ich das abstellen?

Vielen Dank

Markus
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Naja ich denke mal net, das das phpBB die Variablen löscht.

Es werden die globalen Variablen aus Kompabilitätsgründen in $HTTP_X_VARS gesichert (X steht für den Typ, wie GET, POST, COOKIE etc.). Aber von löschen hab ich noch nichts mitbekommen.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
markusbauer
Mitglied
Beiträge: 9
Registriert: 20.06.2004 19:25

Beitrag von markusbauer »

Das kann ich sogar beweisen:

common.php, ~Zeile 47

Code: Alles auswählen

$test = array('_GET', '_POST', '_SERVER', '_COOKIE', '_ENV');

foreach ($test as $var)
        {
                if (is_array(${$var_prefix . $var . $var_suffix}))
                {
                        unset_vars(${$var_prefix . $var . $var_suffix});
                        @reset(${$var_prefix . $var . $var_suffix});
                }

                if (is_array(${$var}))
                {
                        unset_vars(${$var});
                        @reset(${$var});
                }
        }
Und die passende Funktion gibts in common.php ~Zeile 31:

Code: Alles auswählen

function unset_vars(&$var)
{
        while (list($var_name, $null) = @each($var))
        {
                unset($GLOBALS[$var_name]);
        }
        return;
}
edit Christian_W: bitte für Code den [ code]-Tag benutzen


Ich find des mehr als krank dass einfach die globalen Variablen gelöscht werden!!! Aber trotzdem mag ich das nicht einfach auskommentieren denn vielleicht hats ja doch einen Nutzen und deswegen mein Post.
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Beitrag von Christian_W »

---
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“