Robert B.: Variablen absichern per mysqli_real_escape_string: Reicht das aus?

Beitrag lesen

Moin

wenn Du einen Wert, den Dir der Browser übergibt (sei es $_GET, $_POST, $_REQUEST oder $_COOKIE), in einen SQL String einsetzt, dann ist mysqli_real_escape_string Schritt 1 auf einem von drei Wegen.

Der Teilsatz "den Dir der Browser übergibt ..." muss gestrichen werden. Die Herkunft von Daten ist für das Übergeben in einen anderen Kontext irrelevant. Wichtig ist nur, dass ein gültiges und erwünschtes Ergebnis entsteht, also dass dem Kontext entsprechend vorgegangen wird.

Diese Sätze kann man gar nicht genug unterstreichen. Browser stellen manche Dinge in Requests an (z.B. /.%2e/ normalisieren, bevor es beim Server ankommt), die man auf anderen Wegen umgehen kann.

Viele Grüße
Robert