Vinzenz Mai: Ob Datensatz schon existiert!

Beitrag lesen

Hallo

$username = $_POST['username'];
$sql_befehl = "SELECT * FROM members WHERE userNAME='$username'";

Dir ist klar, dass das gegen SQL injection anfällig ist, und eine ziemlich große Sicherheitslück bedeutet?

Wie soll er denn sonst den Member raussuchen? Bei einer Webanwendung mit DB-Anbindung, wo $username als Parameter kommt?

Zum Beispiel mit
$sql_befehl = "SELECT userNAME FROM members WHERE userNAME = ". [link:http://www.php.net/manual/de/function.mysql-real-escape-string.php@title=mysql_real_escape_string]($_POST['username']);

Daten sind stets kontextgemäß zu maskieren. Natürlich sollten dabei derzeit noch die unsäglichen Magic Quotes berücksichtigt werden, so wie es auf der Handbuchseite von mysql_real_escape_string() steht.

Freundliche Grüße

Vinzenz