Moin!
Ich sehe die Gefahr nach wie vor bei dem Aberglauben, dass bestimmte Funktionen (z.B. htmlentities() in PHP) sicher geschrieben wären.
Wieso "Aberglauben"? Die genannte Funktion htmlentities() hat eine definierte Funktion, und alle Abweichungen davon sind als Fehler zu behandeln und alsbald zu beheben. Zumal ich sowieso nicht htmlentities() einsetzen würde, sondern nur htmlspecialchars(), denn die Wandlung von z.B. Umlauten in Entities ist, was die Sicherheit angeht, irrelevant.
Mit manchen Codierungen kommt diese Funktion (noch) nicht zurecht und lässt sie daher leider raw passieren.
Beispiele. Die Zeichencodierung eines Eingabedatenstromes dürfte irrelevant sein bei definierter Zeichencodierung der Ausgabe. Da die HTML-relevanten Zeichen <, > und & als Bestandteil des ASCII-Zeichensatzes in allen existierenden Zeichensätzen an der gleichen Codeposition vorkommen, sollte selbst ein beliebiger Bytedatenstrom sicher gewandelt werden können.
Was dann der Browser daraus macht, ist dann extrem spannend.
Wenn der Browser bei abstrusen Bytefolgen austickt, ist das ein Browserproblem.
- Sven Rautenberg