[register globals] wie macht ihr das?

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

  • [register globals] wie macht ihr das?

    Dass man es machen sollte/muss ist klar.
    Wie es geht weiß ich auch.
    Was mich interessiert ist, ob ihr im gesamten Script $_POST[...] etc benützt oder ob ihr alle übergebenen Vars am Anfang umwandelt.

    ... ich meine ich hätte da mal einen Codeschnipsel gesehen, der alle unerwünschten übergebenen Vars "wegmacht" ...

    --

    Die Frage aus dem Grund da ich z.Zt. versuche div. Abläufe in meinem Programmierstil zu automatisieren. Und ich will mir nicht unbedingt "Falsches" angewöhnen.
    [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

    [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

    [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
    (from here)

  • #2
    Ich übergebe die Variablen meist, weils mir zu umständlich ist immer dieses $_POST['blafurz'] hinzupinnen.

    Zumal es ja bekanntlichweise auch bissl sehr gefährlich ist übergebene Werte unvalidiert zu verwenden.

    Kommentar


    • #3
      Re: [register globals] wie macht ihr das?

      Original geschrieben von Meillo
      Was mich interessiert ist, ob ihr im gesamten Script $_POST[...] etc benützt oder ob ihr alle übergebenen Vars am Anfang umwandelt.
      ersteres, weil letzteres den Sinn für mich vom abgeschalteten Register-Globals (was natürlich Absicht ist) über den Haufen wirft

      ... ich meine ich hätte da mal einen Codeschnipsel gesehen, der alle unerwünschten übergebenen Vars "wegmacht" ...
      Ist das jetzt eine Frage nach dem entsprechenden Schnippsel?
      Wenn ja reicht das
      PHP-Code:
      foreach ($_REQUEST as $key => $value) unset($key); 
      Die Frage aus dem Grund da ich z.Zt. versuche div. Abläufe in meinem Programmierstil zu automatisieren. Und ich will mir nicht unbedingt "Falsches" angewöhnen.
      gibt kein "falsch", gibt nur schön und unschön

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Ich benutze ganz normal die Superglobals.

        Allerdings wandel ich in dem jeweiligen Code (also nicht alles am Anfang) die Superglobals zu ganz normalen Variablen um und validier sie dann noch..
        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

        Kommentar


        • #5
          Original geschrieben von Schnoop
          Zumal es ja bekanntlichweise auch bissl sehr gefährlich ist übergebene Werte unvalidiert zu verwenden.
          Man kann auch $_POST verändern, dann kann man die Variablen vorher einmal validieren und erkennt im restlichen Code trotzdem noch, dass es übergebene Variablen sind

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Jo weiss ich.

            Aber jeder macht es so wie er es für richtig bzw schön hält

            Kommentar


            • #7
              Original geschrieben von ghostgambler
              gibt kein "falsch", gibt nur schön und unschön
              ... eben deshalb die Anführungsstriche.

              wg. des Codeschnipsel: an so was in etwa dachte ich dabei.... thx

              --

              ... und jetzt vielleicht noch ein paar meinungen von mods ...
              (nicht dass ich euch, "normale" User, weniger schätzen würde .... auf die Tipps von happy, wahsaga, Haxe etc nehme ich eben in besonderer Weise Rücksicht [- meistens ] )
              [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

              [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

              [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
              (from here)

              Kommentar


              • #8
                Grundsätzlich arbeite ich mit den $_GET-Variablen - anders würde es neben den oben gennanten Gründen wieder auf Lasten der Performance gehen. Auch wenn "nur" ein weiteres Array und/oder div Variablen mehr genutzt werden.

                Wobei ich in letzter Zeit immer mehr mit einer eigenen Art der Variablenübergabe arbeite. Diese beinhaltet einen einzigen Parameter der Form "cmd=bla/blubb/moep/moppel". Dieser String wird mit Hilfe eines "ParamHandlers" gespilttet, auf seine Korrektheit überprüft und an entsprechende Funktionen geschickt oder aber an das Hauptmodul weitergegeben.
                Der Grund hierfür ist, dass es deutlich einfacher wird mit mod_rewrite zu arbeiten und ich mir des Weiteren keine Gedanken mehr über die Nomenklatur der einzelnen Parameter zu machen brauche. So wird ein $_GET['module'] oder $_GET['do'] überflüssig und das Modul an sich kann sich einzig und allein auf seine Grundfunktionen beschränken.

                Wie du siehst, jeder handhabt das Ganze anders - es gibt prinzipiell kein richtig oder falsch, besser oder schlechter. Nur was sich mit deinem sonstigem Programmierstil unter einen Hut bringen lässt ist das beste.

                Kommentar


                • #9
                  Original geschrieben von Indigo
                  Nur was sich mit deinem sonstigem Programmierstil unter einen Hut bringen lässt ist das beste.
                  ... und den versuche ich gerade zu formen/auszuprägen, zu vereinheitlichen
                  Da ich das Thema RG bis jetzt noch kaum/nicht beachtet habe, es jetzt allerdings in meinen Standard einfließen soll, will ich es gleich richtig machen ...

                  schonmal Danke für die Anworten ... bin an jeder Weiteren interessiert
                  [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                  [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                  [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                  (from here)

                  Kommentar


                  • #10
                    Ich arbeite in der index.php und allem anderen, was direkt mit dem Benutzer interagiert, mit $_GET und Co.

                    In Funktionen verwende ich diese superglobalen nicht, weil ich keine Lust habe, meine Funktionen umschreiben zu müssen, nur weil die Links nicht mit index.php?action=read&topic=75 sondern index.php?read=topc&id=75 heißen.
                    Die superglobalen werdne den Funktionen als Parameter übergeben und natürlich validiert, wobei sich bei mir die Validierung größtenteils darauf beschränkt, explizit den erwarteten Datentyp zu setzen, hier und da ein regex und wenn ich Lust habe noch mysql_real_escape_string (in der entsprechenden Funktion)
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar

                    Lädt...
                    X