• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Für Trickser - Get-Variablen werden nicht mehr übernommen (Versionsupdate?)

ka9de

Mitglied
Hallo zusammen.

Vorweg: Ich habe keinen Zugriff auf Datenbank oder Quellcode!


Für ein kleinen Spielmod hat der Entwickler Achievments erstellt die bei erreichen in eine Datenbank eingetragen werden sowie eine Website mit der man sich einen Überblick über erreichte Achies verschaffen kann. Leider ist der Entwickler nun seit langer Zeit nicht erreichbar und die Website nicht mehr ganz funktionstüchtig. Zwar ist noch immer alles uptodate, aber die Datenbankabfrage funktioniert (ich vermute wegen PHP) nicht mehr richtig, da er offenbar die GET-Variablen nicht mehr akzeptiert. Ich könnte mir vorstellen das ist im Zuge eines PHP Versionsupdates oder geänderter php.ini passiert.

Beispiel:
http://naru.mooo.com/bi-stats/player.php zeigt euch oben einen Komplettüberblick. Nun kann man einen Namen auswählen und sollte eigentlich die Statistiken des Spielers sehen können, und zwar über bspw http://naru.mooo.com/bi-stats/player.php?p=STEAM_1:1:34487212 also mit SteamID angehängt. Funktioniert aber nicht mehr (unbeabsichtigt).

Nun meine Frage: Welche Tricks bieten sich an, um doch zu den Details zu kommen? Woran könnte es liegen? Werden in PHP auf die Variablen vllt per $p und nicht mehr $_GET['p'] zugegriffen?

Ich möchte hier in keinem Fall irgendwen dazu aufrufen sich hier unberechtigten Zugriff zu verschaffen! Infolgedessen soll selbstverständlich weder die Datenbank noch die Website irgendwelche Manipulationen erfahren.


Wer kann helfen?
 
Werbung:
Werden in PHP auf die Variablen vllt per $p und nicht mehr $_GET['p'] zugegriffen?

Das wäre auch mein erster Verdacht, ja.

Möglicherweise basiert das Script auf register globals, aber die Direktive ist neuerdings deaktiviert (was prinzipiell gut ist).

- PHP: Using Register Globals - Manual

Worauf hast du denn Zugriff (php.ini, .htaccess, …)? Wenn du nichts ändern kannst, kannst du wahrscheinlich nichts ausrichten, falls es wirklich daran liegt.
 
Werbung:
Du kannst ja mal testen, ob das funktioniert:

Ganz oben in deinem Code fügst du das ein:
PHP:
$types_to_register = array('GET','POST');

    foreach ($types_to_register as $global_type)
    {
        $arr = @${'HTTP_'.$global_type.'_VARS'};
        if (@count($arr) > 0) extract($arr, EXTR_OVERWRITE);
        else
        {
            $arr = @${'_'.$global_type};
            if (@count($arr) > 0) extract($arr, EXTR_OVERWRITE);
        }
    }

Klappt es dann wieder, arbeitet dein Script mit register_global und sollte umgeschrieben werden.
 
Zurück
Oben