Hallo Sven,
Diese Vorgehensweise ist unsauber. Die einzige korrekte Funktion zum Escapen für MySQL ist mysql_real_escape_string(). Oder lieber (und wenn verfügbar) mysqli_real_escape_string() (wobei die objektorientierte Nutzung auch die kürzere Schreibweise $x->escape_string() erlaubt).
- ok, wird beherzigt: Jedes in die DB schreiben von Daten!=int
soll sauber für mysql 'real' escaped werden.
Mit anderen Worten: Deine Logik müßte im Prinzip komplett umgedreht werden: Wenn magic_quotes_gpc aktiviert ist (eine schlechte Sache), ist stripslashes() auf die Eingabedaten anzuwenden, ansonsten passiert nichts.
- falls das Browser auf die Idee kommt, selbst zu maskieren,
sollte man das besser rückgängig machen (stripslashes()).
Frage: Kann ich stripslashes() pauschal über die Werte
laufen lassen, ohne vorher magic_quotes_gpc abzufragen.
Für mein Verständnis:
---------------------
Wird jetzt durch diese Vorgehensweise etwas anderes in der
DB stehen, als jetzt ?
Oder anders herum:
Sorgt "mysql_real_escape_string()" dafür, dass jetzt in meiner
DB z.B. " steht ?
und:
Muss ich entsprehend beim auslesen der Daten, (die dann ja
dargestellt werden sollen) den Schritt auch wieder umgekehrt
ausführen (so etwas wie unescape?)
danke und
beste gruesse,
martin