dedlfix: Frage hierzu

Beitrag lesen

Hi!

wie sieht es denn aus, wenn magic_quotes aktiviert ist und daher stripslashes benutzt wird?
Beeinflusst das nicht auch mysql_real_escape_string?

Nein. Du meinst aber vermutlich, wie das Ergebnis aussieht, wenn M.Q.-ierte Daten an mysql_real_escape_string() übergeben werden. Das ist Mist, weil dann einmal zu viel maskiert wurde. Aus Sicht von MySQL hast du dann Nutzdaten mit ungewollten Zeichen drin. Da M.Q. sowieso ein Feature auf der Abschussliste ist, empfiehlt es sich, innerhalb der Scripte so zu arbeiten, als hätte es sie nie gegeben, sprich: immer von Rohdaten ausgehen und erst beim Kontextwechsel selbigen angemessen berücksichtigen. Hinzu kommt, falls man die M.Q nicht schon außerhalb des Scripts deaktivieren kann, sie zumindest innerhalb wieder davon zu befreien.

Es ist nicht das DBMS, das die Maskierung benötigt, sondern allein das SQL-Statement. Da dieses Anweisungstexte und Nutzdatentexte miteinander mischt, muss man zwischen beidem eindeutig unterscheiden können. Nutzdaten dürfen kein Anweisungsbestandteil werden, weswegen im Wesentlichen die in den Nutzdaten enthaltenen Zeichen, die ebenfalls als Begrenzungszeichen verwendet werden, besonders zu kennzeichnen sind (zuzüglich des Maskierungzeichen selbst).

Lo!