kostenloser Webspace werbefrei: lima-city


$_GET - SQL-Injection verhindern.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    Ich übergebe in der URL eine ID. mit dieser ID wird dann in der Datenbank nach einem Ergebnis gesucht.
    Nun weiß ich, dass wenn ich die URL verändert, man kostenlosen ^^ zugriff zu der Datenbank erlangen kann.

    Wie kann ich das verhindern?
    Die URL sieht im Moment (vereinfacht) so aus: index.php?abfrage=xy
    wobei xy immer eine Zahl ist.
    Die Query sieht so aus:
    $sql = "  UPDATE 
        tabelle
        SET
        wert = 1
        WHERE
        status = '".$_GET['abfrage']."';
    ";
    mysql_query($sql);


    Ich hoffe, ihr könnt mir helfen.

    lg
    Sincer

    Beitrag zuletzt geändert: 21.2.2010 12:09:28 von sincer
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hi
    hier findest kodebeispiele (frag nicht im welchen kapitel). ein gutes buch!
  4. Hm, kurz und knapp: addslashes(). Damit kannst du sonderzeichen escapen.
  5. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    Das Buch ist sicher interessant, aber man kann scheinbar nur Ausschnitte daraus online lesen...

    Ich habe es jetzt mit der Abfrage
    if(is_numeric($_GET['abfrage']) == TRUE)

    gelöst.

    @nerdinator:
    Thx für den Hinweis, das kann ich sicher auch noch brauchen, aber da es sich in diesem Fall nur um eine Zahl handeln darf, bleibe ich bei meiner Lösung.
  6. is_numeric ist wahrscheinlich mehr, als du willst. Das würde nämlich auch Gleitkommazahlen, sowie exponentielle, octale und hexadezimale Schreibweisen zulassen. Was du brauchst ist eher ctype_digit().
  7. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    nikic schrieb:
    Was du brauchst ist eher ctype_digit().


    Ja, ich will nur Ziffern im Parameter haben.
    Thx, habe es umgeändert.

    thx
    Sincer
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!