Hi!
Mir ginge es eher um Inline-Eventhandler, Beispiel-PHP-Code:
// WARNUNG: NICHT VERWENDEN
echo "<span onclick="tuwas ('".htmlspecialchars ($usereingabe)."');">";
Hier fehlt nur als zweiter Parameter von htmlspecialchars() ein ENT\_QUOTES, wegen der Verwendung von ' als Stringbegrenzer im JavaScript. Ansonsten muss der onclick-Inhalt gemäß HTML behandelt werden. Die für PHP und JavaScript kritischen Zeichen ', " und \ sind ja abgedeckt. Oder hab ich noch was übersehen?
> Oha, ich hab da sogar noch was vergessen: Mir ging's nicht nur um die Identifier beim ORDER BY, sondern auch um die Sortierrichtung. Also sowas wie "SELECT ... ORDER BY ".$\_GET['order\_by']." ".$\_GET['order\_direction']; oder ähnliches...
Sehr gut. Und damit haben wir wieder ein False-Friends-Beispiel, bei dem die Kontextbehandlung nicht verwendet werden kann, weil hier Daten als Code eingefügt werden sollen. Hier kann man auch nicht à la intval() beim Zahlenbeispiel auf einfachste Weise nur gültige Werte erzwingen - hier muss mit einer selbst zu schreibenden Werteprüfung aufgewartet werden.
Lo!