Ankündigung

Einklappen
Keine Ankündigung bisher.

$_GET sichere verwendung?

Einklappen

Neue Werbung 2019

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

  • $_GET sichere verwendung?

    Hallo zusammen,

    habe folgende Frage:

    Wenn ich mittels $_GET['var'] eine Variable aus dem URL abfrage und anhand dieser eine MYSQL-Abfrage starte:
    PHP-Code:
    $sqlsprintf("SELECT * FROM tbl WHERE spalte = '%s'"mysql_real_escape_string($var)); 
    Reicht es in diesem Fall vor der Ausgabe der Ergebnisse zu prüfen, ob $var in der DB vorhanden ist, um bösartiges Ausnutzen des Codes auszuschließen? Also z.B. mit mysql_num_rows...

    Eine direkte Ausgabe der GET-Variable findet nicht statt.

  • #2
    Prüfst du vorher, ob der _GET Parameter gesetzt ist?

    Meiner Meinung nach wärst du vor einer sql injection sicher.

    Fände es dennoch schöner, mysql_real_escape_string eine db resource id mitzugeben. Die Verwendung von sprintf halte ich in dem Fall allerdings überflüssig, macht das ganze nur unnötig langsamer. Dein Query string ist kurz genug um übersichtlich zu bleiben.

    Prinzipiell arbeite ich trotzdem bei so etwas mit einer Überprüfung gegen eine whitelist. Dazu noch gegebenenfalls Typumwandlung (z.b. aus _POST in int umwandeln, wenn id als Parameter in mysql query).

    Gruß

    Kommentar

    Lädt...
    X