register_globals = off = chaos perfekt

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

  • register_globals = off = chaos perfekt

    Hallo,

    ich hab gerade register_globals in meiner php.ini auf off gesetzt und war erschreckt über die Folgen.

    Unmittelbar kann ich nicht mal mit Hilfe von Klicken auf einen Menüpunkt eine Seite öffnen.

    Mein Menü-Link ist aufgebaut in der Form:

    phpdatei.php?function=test&viewer=x

    und in der Datei test.php wird dann mittels switch($viewer) { .... } der passende Inhalt geliefert.

    Jetzt habe ich register_globals wieder auf on gestellt und alles funktioniert wieder. Was müsste ich hier ändern, damit es auch mit Off gestellten register... funktioniert?

    Oder ist es egal mit register_globals wenn ich auf diesem Server der einzige "Kunde" bin.

  • #2
    alle variablen, welche als GET übergeben worden sind - also deine parameter an der datei - musst du mit dem superglobalen array $_GET verarbeiten.

    wenn du formulare abschickst, kommt $_POST zum zuge und bei dateien analaog dazu $_FILES und für die sessions und cookies gibt es $_SESSION und $_COOKIE.

    achtung: das muss groß geschrieben werden.

    für deinen switch() müsstest du also $_GET['viewer'] verwenden.

    mehr dazu findest du auch im manual unter www.php.net

    nachtrag:
    und wenn du schon dabei bist, stelle auch dein error_reporting auf E_ALL
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      ok, danke
      und ist es relevant register_globals auf off zu stellen wenn ich als einziger nutzer auf dem server bin? Oder ist das nur was für shared server?

      Kommentar


      • #4
        register_globals ist aktuell immer auf off gestellt. und das sollte auch so bleiben. egal, ob du alleine auf dem server bist oder nicht.

        es unterbindet gewisse sicherheitslücken, die ich hier nicht noch einmal erläutern muss. tipp: manual.

        abgesehen davon laufen script, welche mit register_globals=on geschrieben wurden sind, nicht mehr auf maschinen, wo es abgeschaltet ist!
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          ok, dann werde ich die paar dinge wohl mal umschreiben ;-)
          danke für die infos

          Kommentar


          • #6
            nachtrag:
            und wenn du schon dabei bist, stelle auch dein error_reporting auf E_ALL
            ^^ das bitte auch direkt beachten ....

            lösung .... isset(), empty() und co ....
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X