Register Globals ändern... was ist zu beachten?

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

  • Register Globals ändern... was ist zu beachten?

    Hallo,

    ich habe des Öfteren gelesen, dass man unbedingt register_globals auf "off" stellen soll... nun habe ich bemerkt, dass meine an sind.

    Ich werde meinen Hoster kontaktieren und ihm sagen, dass er doch bitte die Änderungen vornehmen soll, aber ich würde gerne wissen:

    - Was kann passieren?
    - Unter welchen Umständen?
    - Mit "Was kann passieren" ist natürlich die Funktionalität meiner Scripts gemeint

    Gruß
    icecream
    icedcream.de Webdesign Regensburg

  • #2
    Aja! ^^ Wollte dazu sagen, dass ich für Formular-Daten nur $_GET[''] und $_POST[''] benutze, habe mir auch schon ein paar Sachen durchgelesen.... muss ich nochwas beachten?

    gruß
    icecream
    icedcream.de Webdesign Regensburg

    Kommentar


    • #3
      Was kann passieren ?
      Nimm mal folgendes Script
      PHP-Code:
      //index.php
      if(isset($_SESSION['loggedIn'])){
          
      $loggedIn true;
      }
      if(
      $loggedIn == true){
          echo 
      'Hochgeheime Infos';
      }else{
          echo 
      'Raus du Spinner';

      Wenn ich dir jetzt das File so aufrufe
      Code:
      index.php?loggedIn=1
      so bin ich drinn. Obwohl ich die Session gar nicht habe
      In so einem Fall hast du mit globals_on folgende Möglichkeiten
      1. Saubere Initialisierung der Var und belegen mit Wert
      PHP-Code:
      $loggedIn false;
      //Rest des Codes 
      2. Neben dem Vergleich der Var auch eine Typenprüfung (Vars von $_GET und $_POST sind IMMER Strings)
      PHP-Code:
      if($loggedIn === true){
          echo 
      'Hochgeheime Infos';

      Also ich würde immer meine Vars initialisieren. Und ich würde aber auch bei Vergleichen, zumindest wenn register_globals on sind, auch auf Typengleichheit prüfen.

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Original geschrieben von jahlives
        PHP-Code:
        //index.php
        if(isset($_SESSION['loggedIn'])){
            
        $loggedIn true;
        }
        if(
        $loggedIn == true){
            echo 
        'Hochgeheime Infos';
        }else{
            echo 
        'Raus du Spinner';

        Also ich finde deinen Code schon so schrecklich, denn vernünftigerweise hätte man es so geschrieben:
        PHP-Code:
        //index.php
        if(isset($_SESSION['loggedIn'])){
            echo 
        'Hochgeheime Infos';
        }else{
            echo 
        'Raus du Spinner';

        Denn dann ist es egal ob RegGlo on ist oder nicht und im Falle von ON wäre es immer noch sicher.
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          Also ich finde deinen Code schon so schrecklich, denn vernünftigerweise hätte man es so geschrieben:
          Ich habe ned behauptet, dass dieser Code gut wäre Es ging nur drum ein Bespiel zu zeigen, wie man bei Reg Glo on Vars in den Code bringen kann, mit Werten die dort gar nichts zu suchen haben.
          Überigens würde diese Zeile
          PHP-Code:
          if($loggedIn === true){
              echo 
          'Hochgeheime Infos';

          das Problem auch lösen (und drumm habe ich es auch geschrieben). Wenn man alle seine Vars sauber initialisiert, dann könnte man auch mit register_globals on leben, oder ?

          Gruss

          tobi
          Zuletzt geändert von jahlives; 10.04.2006, 05:38.
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Original geschrieben von jahlives
            Wenn man alle seine Vars sauber initialisiert, dann könnte man auch mit register_globals on leben, oder ?
            Ja - aber eben auch ohne, oder? :-)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              original geschrieben von wahsaga
              Ja - aber eben auch ohne, oder? :-)
              Ich lebe schon lange Zeit gut ohne globals on. Warst glaub ich sogar du, der mir diesbezüglich in einem meiner ersten Posts hier den Kopf gewaschen hast (könnte aber auch Haxe gewesen sein)

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar

              Lädt...
              X