molily: Leerzeichen

Beitrag lesen

Über einen dreifachen Kontextwechsel muss man sich nur Gedanken machen, wenn man beliebige Zeichenketten ("reiner Text") in JavaScript-Code in HTML-Attributwerten in PHP-Strings unterbringen will.

Insofern gälte es, solche Problemstellungen gegen den Strich zu bürsten. Sobald man um die Problematik von "kontextgerechtem Escaping" weiß, gilt es aus ihr hinaus anstatt in sie hinein zu kommen. D.h. die Benutzung von Programmiertechniken, die Escaping unnötig machen oder es einem völlig abnehmen und strukturell überhaupt kein Nicht-Escaping zulassen:

  • Vernünftige Template-Engines statt HTML-in-PHP-Gebastel
  • Datenbankabstraktion mit Prepared Statements statt SQL-Code selbst zusammenbauen
  • Unobtrusive JavaScript statt JavaScript-Code in HTML und PHP-generiertem JavaScript

Mathias