|BRAINSTORMING| Sicherheit bei Usereingaben

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

  • #31
    Neee. ich hab das ein wenig anders. erstmal enden alle includes auf php und 2tens benutz ich den fileaufruf nur als admin wenn ich ne phpinfo.php oder so hochgeladen habe und die starten will. muss erstmal wer auf den bezeichner kommen den ich da verwendet habe. ausserdem kann man damit nur auf den ordner test zugreifen. im falle das php abschmiert funktioniert der rewrite php code von mir auch nicht mehr und mod_rewrite lässt garnichts mehr zu.

    Das programm das ich mir geschrieben hab, setzt die angeben in der uri je nach angegebenem ersten teil in $_GET angaben um.

    Kommentar


    • #32
      Hab ja lediglich gesagt, dass es vorkommt. Wenn mans sauber macht ist das kein Problem. Ich setzte die RWE ja auch ein, und hatte keine Probleme. Aber ich möchte das keinem Anfänger empfehlen, da die z.B. den gezeigten code verwenden.

      Das programm das ich mir geschrieben hab, setzt die angeben in der uri je nach angegebenem ersten teil in $_GET angaben um.
      Das ist normal, oder nicht?

      Kommentar


      • #33
        Ja =) Ich kenn das aber auch das manche die ganzen regeln in der htaccess definiere (rewriterule). is das nicht ein wenig umständlich? also ich les die ganze übergabe aus und bearbeite die dann mit php.

        Ja... war auch nich so gemeint. wollt halt nur wissen ob das ok ist so wie ich das mach.
        gruss, nik

        Kommentar


        • #34
          Ah, verstehe du hast nur eine RULE und lässt den querystring von deinem Script verarbeiten. Naja, halte ich persönlich nicht für Sinnvoll. Aber ist auch ne Möglichkeit.

          - Du kannst nicht mehr in verschiedene Verzeichnisse linken
          - musst das PHP Script arbeiten lassen
          - hast wahrscheinlich kein Globales Get Array
          - ...

          Kommentar


          • #35
            Ok.. ich kann nich mehr in verschiedene verzeichnisse linken. das ist richtig. aber mein script ist sowie so so aufgebaut das er immer durch eine datei läuft und diese dann den inhalt zusammensucht.

            Stimmt. der php parser muss so 10 zeilen mehr abarbeiten... aber hab genug recourcen. von daher =))))

            Das is ja gerade das schöne. die GET Variable bleibt auch mit den manuel dazugefügten sachen global =)

            Kommentar


            • #36
              Ich frisch das Thema mal auf.

              Hab gerade ein paar Probleme mit dem escapen von Usereingaben.

              Vielerorts wird ja gesagt, man solle mysql_[real_]escape_string benutzen um usereingaben zu escapen.
              Im PHP Manual und den Security Guidelines wird addslashes empfohlen. So auch in der php.ini (recommended), wenn über magic_quotes_gpc gesprochen wird.

              Was soll man nun benutzen?

              bisher sieht es bei mir so aus:

              PHP-Code:
                  function insert($data)
                  {
                      if (
              is_array($data)) {
                          foreach (
              $data as $key => $text) {
                              
              $data[$key] = $this->insert($text);
                          } 
                          return 
              $data;
                      }
                      if (
              function_exists("mysql_real_escape_string")) {
                          
              $data mysql_real_escape_string($data);
                      } else {
                          
              $data mysql_escape_string($data);
                      }
                      return 
              $data;
                  } 
              Zuletzt geändert von rythms; 24.03.2004, 20:48.

              Kommentar


              • #37
                mysql_(real)_escape_string() wird nur verwendet, wenn du einen string in die DB schreibst. sonst nicht. ;-)
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #38
                  Original geschrieben von Abraxax
                  mysql_(real)_escape_string() wird nur verwendet, wenn du einen string in die DB schreibst. sonst nicht. ;-)
                  Dachte das wäre klar

                  Ich hab es jetzt so gelöst:
                  if get_magic_quotes gpc -> stripslashes()
                  -> mysql[_real]_escape_string()
                  -> return

                  und zum auslesen einmal stripslashes()

                  Kommentar


                  • #39
                    Original geschrieben von rythms
                    und zum auslesen einmal stripslashes()
                    aber bitte nur wenn magic_quotes_runtime aktiviert ist - andernfalls ist das nämlich absolut fehl am platze.

                    warum? lies das (warum hast du das eigentlich nicht vor deiner frage hier gemacht?)
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X