Onkel Schnitzel: Login funktioniert mit MD5-Verschlüsseluing nicht mehr

Beitrag lesen

Danke für Eure Erklärungen. Es war mir tatsächlich nicht bewusst, dass es sich bei mysql_real_escape_string() um eine Art "Transportsicherung" handelt. Ich war immer der Meinung, dass das direkt in die Datenbank übernommen wird. Da werde ich wohl das ein oder andere Script nochmal überarbeiten müssen.

Das mit den magiq quotes wusste ich eigentlich schonmal, nur ist es mir wohl zwischenzeitlich wieder entfallen, ist halt schon wieder eine Weile her, dass ich mich damit beschäftigt habe. Momentan habe ich ehrlich gesagt keine Muße, das zu ändern, weil alles so schön läuft. Ich denke, ich werde es demnächt aber mal vorsichtig antesten.

Zurück zur Ausgangslage: Angenommen, du hast einen String mit dem Namen O'Brian, den du in ein SQL-Statement einfügst. PHP hat dir diesmal KEIN Slash reingemogelt, dass du manuell (entweder vor der DB-Speicherung oder nach dem DB-Auslesen) entfernen mußt, weil diese Magic-Quotes-Option aus ist.

Wie sieht dein SQL-Statement aus, wenn du es einmal OHNE und einmal MIT mysql_real_escape_string() zusammenbastelst?

Da erscheinen so einige Strichelchen. Mit mysql_real_escape_string() wird " O\'Brian " daraus, ohne die Funktion nur " O'Brian ". Der magic-quotes-Slash wird mit mysql_real_escape_string() seinerseits also anscheinend noch einmal maskiert. In der Datenbank erscheint aber nur O'Brian. Also wirkt die Funktion wohl wirklich nicht direkt auf die Datenbank, wolltest du darauf hinaus? Ich denke mal, dass ich das Gröbste jetzt verstanden habe.

Danke nochmal an Euch alle!