Thomas Luethi: test.php?id=12 wie geht des?

Beitrag lesen

Hallo,

"SELECT * FROM bild WHERE id = '$_REQUEST[id]'"

Hier wird also direkt die Benutzereingabe in die SQL-Query eingebaut.
Das ist extrem gefaehrlich, fast "virtueller Selbstmord".
Stichwort "SQL Injection".
Nicht machen!

In diesem Fall wuerde es IMHO reichen, die Eingabe
in eine Zahl umzuwandeln:

if (isset($_REQUEST['id']))
  $id_intern=intval($_REQUEST['id'])
else
  $id_intern=0;

$query = "SELECT * FROM bild WHERE id = '$id_intern'";

Bei Strings sollte man zumindest mysql_escape_string() anwenden,
bevor man sie in eine Query einbaut.

Weitere Infos siehe </archiv/> und
http://www.dclp-faq.de/ch/ch-security.html

Gruesse,

Thomas

--
Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/