pl: Best Practice

Beitrag lesen

Die Geschäftslogik einer Webanwendung wird auf Parameten abgebildet. Ebenso befinden sich Nutzdaten, Benutzereingaben in Parametern. Und jeder Request bringt noch eine ganze Reihe weiterer Parameter mit die in einer Anwendung überhaupt gar keine Rolle spielen.

Die ganze Validierung eines Requests beginnt schon mit der Planung, namentlich damit daß man für den Programmablauf sog. Schlüsselparameter festlegt und über diese Schlüsselparameter eine Kontrollstruktur legt. So sind diese Schlüsselparameter von den Parametern die Nutzdaten enthalten sauber getrennt.

Leider ist es so, daß die Enctypes application/x-www-form-urlencoded und multipart/form-data als die Einzigen strukturierten Content-Types gerade in dieser Hinsicht gar keine Unterstützung bieten. Von daher geht ja PHP den Weg der Strukturierung über eine bestimmte Namensgebung für die Parameter (in Perl übrigens auch).

So kann man über eine entsprechende Namensgebung die Schlüsselparameter von den Datenparametern sauber trennen. Z.B. so, daß alle Schlüsselparameter unter $_POST['prog']['key'] zu finden sind und die Nutzdaten unter $_POST['user']['name'] usw.

MFG

0 44

Tabellenwerte in <form eingeben

Linuchs
  • html
  1. 0
    Raktenbürokratieverbesserer
    1. 0
      Linuchs
      1. 0
        Raketentester
        1. 0
          Linuchs
          1. 0
            Raketentester
            1. 0
              Raketentester
          2. 0
            Linuchs
            1. 0
              Linuchs
            2. 0
              Raketenprogramminspektor
            3. 0
              Matthias Apsel
              1. 0
                Der Martin
  2. -1
    Felix Riesterer
    • html
    • javascript
    • php
    1. 0
      pl
      1. 0
        Felix Riesterer
        1. -1

          Best Practice

          pl
          1. -1

            Best Practice in konkreten Anwendungsfall

            pl
  3. -1
    php
    1. 0
      Felix Riesterer
      1. 0
        pl
      2. 0
        Rolf B
        1. 0
          Felix Riesterer
          1. 0
            Der Martin
            • datenmodell
            • html
            1. 0
              Felix Riesterer
              1. 0
                Rolf B
                1. 0
                  Felix Riesterer
              2. -1

                Requestparameter sind tainted!

                pl
                1. 0
                  Rolf B
                  1. 0
                    pl
                2. 0
                  Raketenchemiker
                  1. 0
                    pl
                    1. 0
                      pl
                      1. 0
                        Raketensicherheitsinspektor
                        1. 0
                          pl
                          1. 0
                            Raketenflugbahnkenner
                    2. 0
                      Raketenhandbuchleser
                      1. 0
                        pl
                        1. 0
                          Raketenhandbuchleser und -Tester
                  2. 0
                    pl
                    1. 0
                      Raketenunsinndiagnostiker
  4. 1
    robertroth
    • datenbank
    • html
    • webserver
    1. 0
      pl
    2. 0
      Raktensinnsucher
      1. 0
        TS
        • client
        • datenbank
        • webserver