MySQL-real-escape-string

War ich versucht zu desinfizieren die Eingänge zu meinem PHP login mit addslashes und mysql_real_escape_string. Mit addslashes funktioniert, aber mysql_real_escape_string nicht.

Hier ein Beispiel von dem, was erlaubt, mich einzuloggen richtig:

$user = addslashes($_POST['user']);<br/>
$password = addslashes($_POST['password']);

Haben und dieser nicht:

$user = mysql_real_escape_string($_POST['user']);<br/>
$password = mysql_real_escape_string($_POST['password']);

Auch einige meiner anderen Felder enthalten Apostrophe. Nichts wird zurückgegeben, wenn mit addslashes, da der Eintrag in der DB ist das nicht entgangen. Ich Frage mich, ob mit mysql_real_escape_string dieses Problem beheben könnte, aber ich weiß nicht, wie.

addslashes() ist NICHT akzeptabel für die Flucht von mySQL-Daten. Können Sie zeigen einige aktuelle user-Daten, die fehlschlägt? Und die Abfrage, die Sie ausführen möchten?
Was machen deine eigentliche SQL-Anweisungen Aussehen? addslashes ist nicht zu tun, was Sie wollen..
magic_quotes/addslashes sind immer nur dann rechtmäßig, wenn mysql_set_charset("ASCII"); oder Latin1 eingestellt war. Es möglicherweise nicht auf den neueren MySQL-Servern, die in --ansi - Modus, etc.
Hinweis: mysql()*ist deprecated seit PHP 5.5.0, es wird nicht empfohlen, für Sie neuen code schreiben, wie es sein wird in Zukunft entfallen. Verwenden Sie stattdessen mysqli oder PDO

InformationsquelleAutor user490895 | 2011-01-06

Schreibe einen Kommentar