Ankündigung

Einklappen
Keine Ankündigung bisher.

Hidden Wert ins Formfeld

Einklappen

Neue Werbung 2019

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

  • #16
    ok! Ich habe es geschafft!
    Da ich in meiner register.php ein hiddenfeld mit der $_GET, hatte ich dieses Feld natürlich in meiner register.inc.php als $member_username verwendet um den Wert in die Datenbank einzupflegen. Jetzt habe ich einfach

    PHP-Code:
    header("Location: ./gregister_success.php?TP=".$member_username); 
    benutzt und es funktioniert hervorragend!
    Danke für die Hilfe! Dein Tipp mit dem

    PHP-Code:
    var_dump($_GET); 
    hat mir sehr geholfen. Damit habe ich auch die variable $member_username geprüft und er zeigte mir sofort den GET Wert an.
    Vielen Dank!

    Kommentar


    • #17
      Kontextwechsel wird nirgendwo beachtet. Werte dürfen nicht direkt in SQL- und HTML-Code oder eine URL eingefügt werden.

      Für SQL: SQL-Escaping oder Prepared Statements verwenden
      Für HTML: htmlspecialchars() verwenden.
      Für URL: urlencode() verwenden.

      Wird das nicht gemacht, ist der Code fehlerhaft und das kann sogar als Sicherheitslücke missbraucht werden. So wie der Code jetzt ist würde ich ihn auf keinen Fall produktiv schalten bzw. sofort offline nehmen.

      Kommentar


      • #18
        Hallo
        hellbringer!
        Vielen Dank für Deinen Hinweis! Die Sicherheit steht bei mir selbstverständlich an erster Stelle! Was genau meinst Du mit dem Code? Den kompletten Code oder nur den header Teil?

        Kommentar


        • #19
          Statt
          Code:
          value="<?php echo $_GET['TP']; ?>"
          verwende
          Code:
          value="<?= htmlspecialchars($_GET['TP'], ENT_COMPAT, 'UTF-8') ?>"
          Statt
          Code:
          header("Location: ./gregister_success.php?TP=".$member_username);
          verwende
          Code:
          header("Location: ./gregister_success.php?TP=" . urlencode($member_username));

          Kommentar


          • #20
            ok! Vielen Dank
            und statt

            PHP-Code:
            $gvorname filter_input(INPUT_POST'gvorname'FILTER_SANITIZE_STRING); 
            soll ich das verwenden? habe ich das richtig verstanden?

            PHP-Code:
            $gvorname $mysqli->real_escape_string($_POST['gvorname']); 
            Und bei dem code:
            PHP-Code:
            header('Location: ../error.php?err=Registration failure: INSERT'); 
            soll ich auch urlencode nutzen?

            Kommentar


            • #21
              Zitat von nopox Beitrag anzeigen
              und statt

              PHP-Code:
              $gvorname filter_input(INPUT_POST'gvorname'FILTER_SANITIZE_STRING); 
              soll ich das verwenden? habe ich das richtig verstanden?

              PHP-Code:
              $gvorname $mysqli->real_escape_string($_POST['gvorname']); 
              filter_input() ersetzt kein real_escape_stringt() und real_escape_string() ersetzt kein filter_input(). Die Funktionen machen was komplett Unterschiedliches. Aber prinzipiell reicht hier in dem Fall auch $_POST. Wobei du keine kryptischen Namen und Abkürzungen wie "gvorname" verwenden solltest. Was bedeutet "g"? Wenn man einen Namen erklären muss, macht man in der Regel was falsch. Ein Name sollte selbsterklärend sein.

              Zitat von nopox Beitrag anzeigen
              Und bei dem code:
              PHP-Code:
              header('Location: ../error.php?err=Registration failure: INSERT'); 
              soll ich auch urlencode nutzen?
              PHP-Code:
              header('Location: ../error.php?err=Registration%20failure%3A%20INSERT'); 
              oder
              PHP-Code:
              header('Location: ../error.php?err=' urlencode('Registration failure: INSERT')); 

              Kommentar


              • #22
                Vielen Dank!
                Das "g" bei Vornamen steht für guest. Da es ein Formular für Gäste ist!
                Noch eine Frage am Rande!
                Sollte ich bei der Email Bestätigung selbst ein php code schreiben oder ist es sinnvoll wie im folgendem Video einen fertigen php Mailer zu nutzen?
                ab 18:53 ist es zu sehen.
                https://www.youtube.com/watch?v=u2O_QyPfdpE

                Kommentar


                • #23
                  Zitat von nopox Beitrag anzeigen
                  Das "g" bei Vornamen steht für guest. Da es ein Formular für Gäste ist!
                  Das weisst du in einem Jahr aber auch nicht mehr.
                  Ist es zu viel $_POST['vorname_guest'] zu schreiben?

                  Zitat von nopox Beitrag anzeigen
                  Sollte ich bei der Email Bestätigung selbst ein php code schreiben oder ist es sinnvoll wie im folgendem Video einen fertigen php Mailer zu nutzen?
                  ab 18:53 ist es zu sehen.
                  Videos schauen wir uns nicht an, aber immer eine Mailerklasse, wie PHPMailer zu verwenden ist ein Muss.

                  Kommentar


                  • #24
                    Super! Vielen Dank für den Ratschlag!
                    Das mit den POST eingaben hast Du recht! Ich werde es ändern.

                    Kommentar


                    • #25
                      Zitat von nopox Beitrag anzeigen
                      Das "g" bei Vornamen steht für guest. Da es ein Formular für Gäste ist!
                      Wie gesagt, wenn du Code erklären musst, ist der Code schlecht. Code sollte selbsterklärend sein.

                      Kommentar

                      Lädt...
                      X