Hallo Forum,
Nun habe ich mein Datenmanagement nochmals überdacht und bin zu folgendem Entschluss gekommen:
- Daten vom User dürfen keine < > enthalten, da bei evtl. Ausgabe das Ganze unschön ausschaut auch bei Verwendung von htmlspecialchars()
Also kann man in deinem System weder Artikel über Mathematik noch Programmtext-Beispiele noch HTML-Beispiele speichern. Das ist übel.
- Daten vom User werden mittels htmlspecialchars() in die Datenbank geschrieben
Du bist dir also hundertprozentig sicher, dass niemals jemand auf die Idee kommen könnte, die Daten z.B. in einem Texteditor zu betrachten zu wollen?
- SQL Variablen ausschließlich mit mysql_real_escape_string()
- Bei der Ausgabe von Daten wird nochmals, auch wenn unnötig, htmlspecialchars() angewendet.
Super, dann kann man in deinem System kein kaufmännischen Und und keine einfachen oder doppelten Anführungszeichen verwenden. Willst du die Daten wirklich derart verstümmeln?
Daten müssen immer _nur_ für das nächste Übertragungsmedium maskiert werden, also htmlspecialchars bei der Ausgabe auf Webseiten, $DBMS_escape_string bei der Verwendung in SQL-Statements und urlencode bei der Verwendung in URLs.
Gruß
Alexander Brock