Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Frage zu/gegen SQL Injections

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Frage zu/gegen SQL Injections

    Moinz.
    Ich bastel ein wenig an Datenbankabfragen rum und hab mich ein wenig schlau gemacht über die Injections. Speziell geht es bei mir um die Übergabe einer Nummer und mein neuer Code sieht daher so aus:

    Code:
    ...
    $currentID = $_GET['n'];	
    if($currentID == NULL || !is_numeric($currentID)){
        die('Leere oder fehlerhafte id');
    }
    ...
    $query = sprintf("SELECT wert1, wert2, wert3 FROM myTable WHERE uid ='%d'",
                     mysql_real_escape_string(stripslashes($currentID)));
    ...
    basieren auf dieser Seite

    PHP: mysql_real_escape_string - Manual

    Jetzt die Frage von mir...ist das so sicher genug oder kann man noch mehr tun? Die magic_quotes_gpc() ist auf 1, womit ich davon ausgehen kann, dass es aktiv ist. Aber ich lern auch gerne dazu.

    -bedank-
    TZP


  • #2
    bei IDs ist Integer Casting oder intval eigentlich die bevorzugte wahl

    Kommentar


    • #3
      Ist das andere dann in dem Fall falsch oder das Gleiche, nur in Grün?

      Kommentar


      • #4
        Du kannst dir mal Artikel:Kontextwechsel – SELFHTML durchlesen.

        Erwartest du eine Zahl, behandele sie auch so und nicht wie einen String.
        http://hallophp.de

        Kommentar


        • #5
          Mja, das macht alles Sinn. Ich hab jetzt den hier

          Code:
          $query = sprintf('SELECT wert1, wert2, wert3 FROM myTable WHERE uid =%d',
                           intval($currentID));
          und behaupte mal, dass das in meinem Fall reichen muss/sollte. Wenn ich mich nicht irre, wird jede Injection daran scheitern und im schlimmsten Fall kommt eine falsche Zahl rüber.
          Wieder was gelernt.

          -bedank-

          Kommentar


          • #6
            %d reichte in diesem Fall total aus. Bzw. %u
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar

            Lädt...
            X