Sascha Greven: PHP 4.2.0

Hi Leute,

hab jetzt mal ein echtes Problem. Also, mein Provider hat heute die neue PHP Version 4.2.0 draufgespielt.

Leider kann ich jetzt keine Variablen mehr abfragen:

Also: "main.php?variable=test"
Früher kam dann: "variable=test"
Heute kommt "variable="

Kann mir jemand helfen,weiß echt nicht,wie ich die Variablen übegeben soll.
Ich schätzte mal,dass das irgend was mit den HTTP GLobals off oder so zu tun. Hab irgendwas mitbekommen, dass es neuerdings SupperVariablen gibst. Was ist das??

  1. Hi Leute,

    Hi du

    hab jetzt mal ein echtes Problem. Also, mein Provider hat heute die neue PHP Version 4.2.0 draufgespielt.

    Nunja so neu ist die auch nicht mehr ;) gibt ja schon 4.3...

    Leider kann ich jetzt keine Variablen mehr abfragen:

    Also: "main.php?variable=test"
    Früher kam dann: "variable=test"
    Heute kommt "variable="

    Kann mir jemand helfen,weiß echt nicht,wie ich die Variablen übegeben soll.
    Ich schätzte mal,dass das irgend was mit den HTTP GLobals off oder so zu tun. Hab irgendwas mitbekommen, dass es neuerdings SupperVariablen gibst. Was ist das??

    schau mal hier nach http://www.dclp-faq.de/q/q-sicherheit-global.html Ansonsten im Archiv wohl suchen, auch wenns mühselig ist!

    Gruß Christoph

  2. Also: "main.php?variable=test"
    Früher kam dann: "variable=test"
    Heute kommt "variable="
    Ich schätzte mal,dass das irgend was mit den HTTP GLobals off oder so zu tun.

    Ja, hat es. Solltest Du den Eintrag wieder auf ... "Globals ON " setzen, funktioniert es wieder wie früher. Aus Sicherheitsgründen wird davon abgeraten.

    Du kommst folgendermaßen an Deine Variable,
    $variabe = $_GET['variable'];

    (Vor diesem Problem stand ich auch schon wie der Ochs vor'm Berg, aber das freundliche SELFForum hat mir geholfen!)

    CU
    Susanne

    1. Holladiewaldfee,

      Du kommst folgendermaßen an Deine Variable,
      $variabe = $_GET['variable'];

      Für $_GET, $_POST und $_REQUEST könnte er natürlich auch import_request_variables() verwenden (http://www.php.net/manual/en/function.import-request-variables.php). Dann muß er halt verdammt drauf aufpassen, daß ihm keine scripteigenen Variablen durch URL-Anhängselüberschrieben werden.

      Beispiel:

      Irgendwo ist $authenticated==0
      Dann kommt der böse Angreifer und gibt ein:
      http://bla.bla/bla.php?authenticated=1
      Das ist solange nicht schlimm bis man dann import_request_variables() aufruft - dann wird $authenticated nämlich gnadenlos überschrieben!
      Also: Vorsicht.

      Besser wäre es, gleich alle Scripte umzustellen.

      Ciao,

      Harry

      --
        Hä? Was? Signatur?! Kann man das essen?