$_POST so akzeptabel?

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

  • $_POST so akzeptabel?

    da ich meine pages meist dynamisch gestalte, d.h. den content über ne abfrage:

    PHP-Code:
    if ($_GET['cont'])
    {
    $content=$_GET['cont'];

    if (
    $content=="Info")
    {
    include (
    "$dir$content$end");
    }

    elseif (
    $content=="rubrik1")
    {
    include (
    "$dir$content$end");
    }

    elseif (
    $content=="rubrik2")
    {
    include (
    "$dir$content$end");
    }
    ...... 
    so einbinde, und ich ein kontaktformular abschicken muss, rage ich mich ob irgendwas gegen folgende Gestaltung spricht:


    " <form method="post" action="?cont=sent"> "


    da in den "Schulbüchern" ja immer eine datei mit action="sent.php" angesprochen wird und ich sowas wie ?cont=sent als argument für action noch nie gesehen habe, frage ich mich ob es viell. ein Sicherheitsriskiko oder andere Probleme mit sich ziehen könnte.

    wenn nicht dann sehr gut


    Gruß

  • #2
    dein code nicht hundertprozentig sicher.
    halte dich an http://tut.php-q.net/frames.html

    Kommentar


    • #3
      was genau ist unsicher?

      er macht in seinem tut doch dasselbe, nur mit ner switch funktion.

      Kommentar


      • #4
        benutze einfach keine variablen für include.

        und dein "?cont=sent" ist in ordnung, wobei man für solche zwecke auch ein hidden feld nehmen kann.

        PHP-Code:
        if ($_GET['cont'])
        {
        $content=$_GET['cont']; 
        ist aber weiterhin unsinn.

        Kommentar


        • #5
          <form method="post" action="?cont=sent">
          Ja klar, spricht da was gegen!!
          Wenn du das Formular irgendwann mal auf GET umstellen willst, wird der Parameter abgeschnitten. Also verwende besser ein HiddenField, dann Klappts, mit GET und POST
          Wir werden alle sterben

          Kommentar


          • #6
            Wenns auf GET umgestellt wird, kann er immer noch ein hidden-field einbauen. Das ist vermutlich weniger arbeit, als sämtiche anderen verarbeitenden POST-Variablen auf GET umzustellen.

            Kommentar


            • #7
              Schon wahr... allerdings, gibts ja auch noch $_REQUEST wenn man den Arbeitsaufwand scheut.
              Sind Hidden Fields nicht extra für diesen Zweck erfunden worden?

              Ist es für die Browser Pflicht, die GET Parameter bei einem Post Formular anzuhängen? Oder gibts welche die da aus der Reihe tanzen? Sicherlich, der Browser muß den evt. relativen Pfad auflösen. Aber zur der Erweiterung um die GET Parameter besteht meines Wissens nach keine Pflicht. Und bei einem GET Formular werden sie sowieso abgeschnitten.

              Besonders schön finde ich es auch nicht wenn die eine Hälfte der Daten per Post kommt und der Rest per Get

              Also ich halte mich da konsquent dran und kann auch nur jedem raten das auch so zu machen...
              Aber jeder ist seines Glückes Schmied..
              Wir werden alle sterben

              Kommentar


              • #8
                Original geschrieben von penizillin
                benutze einfach keine variablen für include.
                Sehe ich keinen Grund für ... !
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  Original geschrieben von goth
                  Sehe ich keinen Grund für ... !
                  kann ich mich anschließen. ich mache es so:
                  PHP-Code:
                  if (empty($_GET['module'])) {
                      
                  $module 'home';
                  } else {
                      
                  $module str_replace('\\\\\\\', '', $_GET['module']);
                  }
                  if (file_exists('
                  ./modules/'.$module.'/index.php')) {
                      include_once '
                  ./modules/'.$module.'/index.php';
                  } else {
                      include_once '
                  ./modules/home/index.php';

                  EDIT:
                  dämliches Slashproblem....
                  Zuletzt geändert von Benny-one; 06.08.2007, 09:30.
                  Sunshine CMS
                  BannerAdManagement
                  Borlabs - because we make IT easier
                  Formulargenerator [color=red]Neu![/color]
                  Herkunftsstatistik [color=red]Neu![/color]

                  Kommentar


                  • #10
                    OffTopic:
                    Original geschrieben von Benny-one
                    EDIT:
                    dämliches Slashproblem....
                    Sags dem Betreiber!

                    Kommentar


                    • #11
                      OffTopic:
                      wird ja auch erst seit Ewigkeiten angemeckert... scheint doch einfach niemanden zu interessieren

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

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

                      Kommentar

                      Lädt...
                      X