variable "nachträglich" per GET verändern - das geht doch garnicht!?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • variable "nachträglich" per GET verändern - das geht doch garnicht!?!

    ich habe hier ein script (sagen wir mal index.php) das enthält folgende zwei zeilen:
    PHP-Code:
    require_once("load.php"); 
    require_once(
    $config['folder']."main.php");   // die datei main.php aus dem ordner $config['folder'] einbinden 
    in der load.php steht sinngemäß folgendes:
    PHP-Code:
    $setfile file("vars/settings.var");   // settings.var enthält zeilenweise verschiedene einstellungen 

    .              
    //zuweisungen 

    $config['folder'] = chop($setfile[13]);   // zeile 13 enthält also den namen des folders und wird entsprechend zugewiesen 
    das problem ist jetzt folgendes:
    ich kann im browser eine url à la http://www.domain.de/index.php?config[folder]=irgendwas eingeben und dieser eintrag wird dann bei require_once benutzt, anstelle des aus der datei settings.var ausgelesenen wertes. das is natürlich nen gutes remote include loch.

    meine überlegung is aber eigentlich, dass die sache doch garnicht gehen dürfte? immerhin wird doch $config['folder'] in der load.php ein neuer wert zugewiesen?
    jetz hab ich die sache auf verschiedenen servern getestet und musste feststellen dass es nicht bei allen geht. liegt das vielleicht an der php version (also dass das loch direkt in php steckt, is sowas bekannt?) oder vielleicht in den einstellungen der php.ini?
    hat jemand vielleicht schonmal diesen (eigentlich unmöglichen...) fall gehabt?

  • #2
    Um dieses Problem zu lösen wurde register_globals auf off gestellt

    Du kannst in der php.ini die reihenfolge, welche vars vorrang haben festlegen, weiss aber nicht genau wo;(

    also zum beispeil get vor post vor session vor [im script definiert] vor cookie oder so
    ich bin Toxical, und werd es auch bleiben

    Kommentar


    • #3
      Original geschrieben von Toxical
      Um dieses Problem zu lösen wurde register_globals auf off gestellt
      hab ich gemacht, auch mit phpinfo() getestet, geht aber trotzdem nich...

      Du kannst in der php.ini die reihenfolge, welche vars vorrang haben festlegen, weiss aber nicht genau wo;(
      das wäre ne lösung ich schau mal nach danke

      Kommentar


      • #4
        die variablen kannst du hier in der php-ini ändern:

        ;;;;;;;;;;;;;;;;;
        ; Data Handling ;
        ;;;;;;;;;;;;;;;;;
        ...
        variables_order = "EGPCS"
        ...

        kannst mal schauen, ob du das per ini_set() ändern kannst, ist aber teilweise Versionsabhängig, teilweise auch von den Einstellungen am server.

        gruss

        Kommentar


        • #5
          durch das require_once wird die Variable doch quasi im Skript
          umdefiniert; da spielen register_globals und variables_order
          überhaupt keine Rolex.

          Das Problem ist, dass das zweite require_once ausgeführt wird,
          bevor der durch das erste eingelesene Text interpretiert
          wird.

          Versuch mal, eins der beiden gegen include_once auszutauschen
          oder lass das _once weg, vielleicht hilft das.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar

          Lädt...
          X