TS: Checkboxen im PHP mit SQL

Beitrag lesen

Hello,

Hallo Tom,

Und wenn man die Formularelemente auch noch günstig benennt, so dass PHP die Werte als Array bekommt, kann man bequem mit einer Schleife darüber iterieren.

Zu diesem Zweck sollte man aber nicht über das POST-Array iterieren

natürlich nicht stur über $_POST in seiner ganzen Pracht, sondern nur über bekannte Gruppen. In einem Bestellformular für eine Pizza mit 5 wählbaren Zutaten würde ich die Checkboxen beispielsweise mit topping[0] bis topping[4] benamsen und dann mit 0..4 über $_POST['topping'][$i] herfallen und die isset-Abfragen machen.

sondern über das Kontrollarray (das z. B. in der Session wartet) und dessen Elemente mit dem POST-Array abgleichen.

Das kann man natürlich auch, obwohl mir das im Moment etwas zu kompliziert erscheint.

Wenn man beim Abgleich die gefundenen Elemente aus dem POST-Array löscht (unset()), bleiben dort nur die unerwünschten übrig. Sollte es welche geben, ist der POST gefaked.

Was ich in den meisten Fällen nicht schlimm fände; ich würde unerwartete zusätzliche Parameter einfach ignorieren. Oder möchtest du dann die Bearbeitung abbrechen und eine Antwort "Böser Betrüger! Tu das nie wieder!" senden? 😀

  • Ich würde zu einem HTTP-Response Code 406 unter Beifügen der Meldung "es ist ein Fehler aufgetreten, bitte Anfrage wiederholen" und ggf. dem (soweit zulässig) vorausgefüllten Formular reagieren {1}

  • im Application Log würde ich den Vermerk "wrong post params" mit IP, Uhrzeit und Name des Moduls/Skripts hinterlassen, damit Fail2ban sich darum kümmern kann.

Das hat erstmal nichts mit unplausibel ausgefüllten Dialogelementen zu tun. Diesen Fall muss man extra betrachten.

Der User (Bot?) muss von den Hintergrundmaßnahmen darüberhinaus nichts mitbekommen.

BTW:
Ich plädiere für das Wiki an dieser Stelle übrigens dafür, sich nicht ellenlang über die "richtige" Formulargestaltung mit Labels und sonstigen durchaus an anderer Stelle wichtigen Dingen auseinanderzusetzen, sondern eher auf die PHP-relevanten Verfahren einzugehen.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.
0 220

Checkboxen im PHP mit SQL

PHP-Neuling
  • html
  • php
  • sql
  1. 1
    TS
    1. 0
      PHP-Neuling
      1. 0
        Auge
        1. 0
          PHP-Neuling
          1. 0
            Felix Riesterer
            1. 0
              PHP-Neuling
              1. 0
                Der Martin
                1. 0
                  PHP-Neuling
                  1. 0
                    PHP-Neuling
                    1. 0
                      Gunnar Bittersmann
                      • html
                      • php
                    2. 1
                      dedlfix
                    3. 1
                      TS
                      1. 0
                        PHP-Neuling
                        1. 0
                          Tabellenkalk
                    4. 0
                      Felix Riesterer
                      1. 0
                        Matthias Apsel
                        1. 0
                          Felix Riesterer
                          1. 0
                            Matthias Apsel
                            1. 2
                              Felix Riesterer
                        2. 0
                          Gunnar Bittersmann
            2. 1
              TS
              1. 1
                Gunnar Bittersmann
                1. 0
                  TS
                2. 0
                  robertroth
                  1. 0
                    Der Martin
                    1. 0
                      TS
                      1. 0
                        Der Martin
                      2. 0
                        Tabellenkalk
                        1. 0
                          robertroth
                  2. 0
                    Gunnar Bittersmann
                    1. 1
                      Raketengrundradar
                    2. 0
                      TS
                      1. -1
                        Gunnar Bittersmann
                        1. 0
                          TS
                          1. 0
                            Matthias Apsel
                            1. 0
                              TS
                              1. 1
                                Auge
                            2. 0
                              Raketentheoretiker
                              1. 0
                                Gunnar Bittersmann
                                • html
                                1. 0
                                  Rolf B
                                  1. 0
                                    TS
                                    1. 0
                                      Gunnar Bittersmann
                                  2. 0
                                    Raketentheoretiker
                                    1. 0

                                      Ein paar Korrektueren

                                      Raketeningrid
                                      1. 0
                                        Gunnar Bittersmann
                                        1. 0
                                          Christian Kruse
                                      2. 0

                                        Korrektur für function setChecked()

                                        RaketenQuadratIngrid
                                    2. 1
                                      Rolf B
                                      1. 0
                                        TS
                                        • software
                                        1. 0
                                          Raketentheoretiker
                                          • javascript
                                  3. 0
                                    Gunnar Bittersmann
                              2. 1
                                Julius
                3. 1
                  Gunnar Bittersmann
              2. 0
                dedlfix
                1. 2
                  MudGuard
            3. 1

              SQL - semantischer Unterschied zwischen 0 und null

              Camping_RIDER
    2. 1
      Rolf B
      1. 0
        Mitleser
  2. 0
    Felix Riesterer
    1. 0
      PHP-Neuling
      1. 0
        Robert B.
  3. 0

    Checkboxen im PHP mit SQL (Sicherheit)

    Raketenhacknix
    1. 0
      Raktentypokorrekturautomat
    2. 0
      PHP-Neuling
      1. 5
        Raketenede
        1. 0
          PHP-Neuling
          1. 4
            dedlfix
            1. 0
              PHP-Neuling
          2. 3
            MudGuard
  4. 0
    PHP-Neuling
    1. 0
      Rolf B
      1. 0
        PHP-Neuling
        1. 1
          Rolf B
          1. 0
            PHP-Neuling
            1. 0
              Rolf B
              1. 0
                Felix Riesterer
                1. 0
                  Der Martin
                  1. 0
                    dedlfix
              2. 0
                PHP-Neuling
                1. 0
                  Felix Riesterer
                  1. 0
                    PHP-Neuling
            2. 0
              Felix Riesterer
              1. 0
                PHP-Neuling
                1. 0
                  PHP-Neuling
                  1. 0
                    Felix Riesterer
                    1. 0
                      PHP-Neuling
                      1. 0
                        Felix Riesterer
                      2. 0
                        Der Martin
                      3. 0
                        dedlfix
  5. 0
    Felix Riesterer
    1. 0
      PHP-Neuling
      1. 0
        Der Martin
        • css
        • html
        1. 0
          PHP-Neuling
          1. 0
            Der Martin
            1. 0
              PHP-Neuling
            2. 0
              Gunnar Bittersmann
              • design
              1. 0
                Der Martin
        2. 0
          Gunnar Bittersmann
          1. 0
            Der Martin
            1. 0
              PHP-Neuling
              1. 0
                TS
                • css
                • datenmodell
                • html
                1. 0
                  PHP-Neuling
              2. 0
                Gunnar Bittersmann
                • design
                • ux
                1. 0
                  PHP-Neuling
            2. 0
              TS
              • css
              • geschichte
              • html
              1. 0
                Gunnar Bittersmann
                • geschichte
                1. 0
                  Der Martin
                  1. 0
                    TS
                2. 0
                  TS
                  1. 0
                    Rolf B
                    1. 0
                      TS
                      • geschichte
                      • hardware
                      1. 0
                        Gunnar Bittersmann
                      2. 0
                        Der Martin
                        1. 0
                          TS
                  2. 0
                    Gunnar Bittersmann
  6. 0
    PHP-Neuling
    1. 0
      dedlfix
      1. 0
        PHP-Neuling
        1. 0
          dedlfix
          1. 0
            PHP-Neuling
            1. 0
              PHP-Neuling
              1. 0
                dedlfix
                1. 0
                  PHP-Neuling
                  1. 0
                    Rolf B
                    1. 0
                      PHP-Neuling
                      1. 0
                        PHP-Neuling
                        1. 0

                          Warnung vor der Schreibfaulheit

                          TS
                          • philosophie
                          1. 0
                            PHP-Neuling
                          2. 1
                            Der Martin
                            • programmierstil
                            1. 1
                              dedlfix
                              1. 1
                                Der Martin
                          3. 3
                            dedlfix
                            1. 0
                              MudGuard
                    2. 0
                      Der Martin
                      • php
                      • programmiertechnik
                      1. 0
                        TS
                        1. 0
                          Der Martin
                          1. 0
                            TS
                            • php
                            • programmiertechnik
                            • sicherheit
                            1. 0

                              Teilthread abgetrennt

                              TS
                              • zur info
                    3. 3
                      Waltraut von der Vogelweide
                  2. 0
                    TS
  7. 0

    rtrim UPDATE Schleife

    PHP-Neuling
    1. 0
      dedlfix
      1. 0
        PHP-Neuling
        1. 0
          dedlfix
          1. 0
            Rolf B
        2. 0
          Rolf B
          1. 0
            PHP-Neuling
            1. 0
              Rolf B
              1. 0
                PHP-Neuling
                1. 0
                  Rolf B
                2. 0
                  PHP-Neuling
                  1. 0
                    Felix Riesterer
                    1. 0
                      PHP-Neuling
                  2. 0
                    dedlfix
                    1. 0
                      PHP-Neuling
                      1. 0
                        dedlfix
                        1. 0
                          PHP-Neuling
                          1. 1
                            Rolf B
                            1. 0
                              PHP-Neuling
                              1. 1
                                Julius
                                1. 0
                                  Rolf B
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      Tabellenkalk
                                  2. 0
                                    PHP-Neuling
                                    1. 0

                                      Gewöhn Dich dran

                                      Raktenphilosoph
                                      • sonstiges
                                      1. 0
                                        PHP-Neuling
                                    2. 0
                                      Rolf B
            2. 0
              Gunnar Bittersmann
              • php
        3. 0

          Schleife, foreach()

          TS
          • php
          1. 0
            Felix Riesterer
            1. 0
              Gunnar Bittersmann
              1. 0
                Felix Riesterer
                1. 0
                  Der Martin
                  1. 0
                    Felix Riesterer
                  2. 0
                    TS
                    • humor
                    1. 0
                      Der Martin
                      1. 0
                        TS
                        • humor
                        • mathematik
                        1. 0
                          Gunnar Bittersmann
                          • programmiertechnik
                          1. 0
                            TS
                            • mathematik
                            • programmiertechnik
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                TS
                        2. 0
                          Der Martin
                          1. 0
                            Gunnar Bittersmann
                            • menschelei
                            1. 0
                              Der Martin
                              1. 0
                                Gunnar Bittersmann
                          2. 0

                            Corona-Mode

                            Raketenkröner
                            • humor
                            1. 0
                              Der Martin
                              1. 0
                                Raketenkröner
                                1. 0
                                  Der Martin
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      Raketenmedizinalprophet
                                  2. 0
                                    Raketenhumordezimierer
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Raketenhumordezimierer
                                        1. 0
                                          TS
                                      2. 0
                                        Gunnar Bittersmann
                                        • politik
                                        1. 0
                                          TS
                                        2. 0
                                          Der Martin
                                          1. 0
                                            TS
                                            • humor
                                            • politik
                                        3. 0
                                          Gunnar Bittersmann
                        3. 1
                          1unitedpower
                  3. 0
                    Gunnar Bittersmann
                    1. 0
                      Der Martin
              2. 1

                Arrays

                TS
                • array
                • php
                1. 0
                  Mitleser
                  1. 0
                    TS
                    1. 0
                      Mitleser
                      1. 1
                        TS
                        1. 0
                          Mitleser
                          1. 0
                            TS
                            1. 0

                              Arrays, Vergleich statischer und dynamischer Datenhaltung

                              TS
                              • array
                              • php
                              • zur info
                              1. 1
                                1unitedpower
                                1. 0
                                  TS
                                  1. 0
                                    Der Martin
                                    1. 0
                                      TS
                                      1. 0
                                        Mitleser
                          2. 0
                            Rolf B
                            1. 0
                              TS
  8. 0
    Gunnar Bittersmann
    • moderation