Hallo
Beim speichern geht es um MySQL, also benutzte mysql_real_escape_string um die zu speichernden Strings von für MySQL schädlichen Zeichen zu befreien.
Diese Funktion entfernt keine 'schädlichen' Zeichen.
Nein, sie maskiert sie und sie sind nicht schädlich, sondern aufgrund ihrer Sonderbedeutung zu maskieren (wie du schon schriebst), damit mit ihnen kein Code in das Statement eingeschleust werden kann. Entschuldigung für die unkonkrete Ausdrucksweise.
Bei der Ausgabe werden diese Maskierungen von MySQL selbsttätig entfernt.
Sie werden schon beim Parsen des SQL-Statements von MySQL dekodiert, denn sie sind nur dazu da, den Transport innerhalb des Textes des SQL-Statments zu überstehen. In der Datenbank landen sie in - sagen wir mal - reiner Form.
Aha.
Von "gefährlichen" oder "schädlichen" Zeichen [im HTML-Kontext] zu sprechen ist nicht richtig, denn diese Eigenschaften haben diese Zeichen nicht. Sie haben einfach nur eine Sonderbedeutung in einem bestimmten Kontext.
Als Zeichen ansich sind sie natürlich nicht schädlich, sie hätten aber eventuell eine schädliche Wirkung, wenn sie dem Zweck dienten, z.B. JavaScript-Code in einen Gästebucheintrag einzubetten. Und um dies zu verhindern, werden sie halt maskiert. Da man in diesem Zusammenhang oft von "unschädlich machen" spricht, lag der Begriff vom "schädlichen" Zeichen - zumindest für mich - nicht fern.
Auge
Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
(Victor Hugo)
<dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
Veranstaltungsdatenbank Vdb 0.2