kungschu: SQL-Injection

Beitrag lesen

Hallo.

-Eine Abfrage zur Ausgabe von Daten (SELECT) muss grundsätzlich "nicht gesichert" sein.? Dabei besteht keine Möglichkeit zu einer SQL-Injection.
Doch. Immer wenn du Daten von außen in deine Abfrage einbaust, könnte auch beim SELECT eine Injection stattfinden.

Was heißt nun "Daten von außen"? Ich habe es so verstanden: Wenn ich etwa Username und Password mit einem DB-Eintrag vergleichen möchte, muss ich natürlich escapen, da ja (die zu vergleichenden) Usereingaben "von außen" kommen.

Frage ich hingegen einfach nur Inhalt zur Ausgabe ab, besteht die Gefahr nicht. Zum Beispiel:

  
[...]  
$connection = mysql_connect('host','user','password');  
$db = mysql_select_db('db', $connection);  
  
$sql = "SELECT neuerInhalt FROM table";  
  
mysql_query($sql, $connection);  
[...]  

MfG, Kungschu.