Vinzenz Mai: Hochkomma in Textarea

Beitrag lesen

Hallo Holger,

Hallo mein Namen ist "Hannes"
Das ist doch wunderbar.

Nein, das ist schrecklich.

Sonst würde bei einer eventuellen Stringverkettung innerhalb Deines Scriptes der übergebene Wert natürlich Chaos anstellen können.

Nein, Stringverkettung ist kein Problem.

Oder was noch viel schlimmer wäre Deine Angaben manipulieren.

Nur wenn die Zeichenkette einem weiteren Medium übergeben wird, das diese Zeichenkette interpretiert, dann kann es zu Problemen kommen, z.B. wenn diese Zeichenkette eine SQL-Anweisung darstellt, die an ein Datenbankmanagementsystem weitergereicht wird. Aber auch dann sind die Magic Quotes eine Katastrophe, weil es nicht nur MySQL gibt. Und Magic Quotes für MySQL nicht ausreichen.

In ganz normalen PHP-Skripten sind die Magic Quotes einfach überflüssig und erfordern zusätzlichen Aufwand.

Zur Wiederausgabe kannst du mittels stripslashes die führenden Slashes wieder entfernen.

Ein schönes Beispiel an dem man merkt, dass man sich  _bevor_ man anfängt serverseitige Scripte auszuführen, Gedanken machen sollte, was man damit alles tatsächlich anstellen kann.

Ein schönes Beispiel für den Mist, den die Magic Quotes anstellen. Natürlich sollte man sich vorher Gedanken machen, was man mit Eingaben anstellen kann. Natürlich sollte man Eingaben überprüfen.

Quoten ist nur dann erforderlich, wenn es für die Ausgabe erforderlich ist. Ansonsten ist es ideal, wenn man mit den Rohdaten arbeiten kann. Das heißt, dass man zuallererst die Magic Quotes entfernen muss, wenn man auf Eingabedaten zugreift und dann, wenn man eine Ausgabe macht, spezielle Zeichen in der Ausgabe nötigenfalls mit der für die spezielle Art der Ausgabe korrekten Art und Weise maskiert.

Magic Quotes ist jedenfalls dafür völlig ungeeignet, da es für einen ganz speziellen Anwendungsfall maskiert und dafür noch nicht einmal in geeigneter Weise. Für MySQL (und dafür sind die Magic Quotes eigentlich gedacht) verwendet man mysql_real_escape_string(). Beachte dort die Anmerkungen zu Magic Quotes.

Freundliche Grüße

Vinzenz