Moin!
vielleicht müßte analysiert werden, wo Code hereinkommen kann, und
wie er -möglichst einfach- behandelt werden kann.
Bei was?
Automatisch kommt "Code", d.h. fremddefinierte Datenmenge, nur über die Variablen mit $_CAPSLOCK ins Skript hinein.
Alle anderen Quellen müssen vom Skript explizit angezapft werden (Datenbanken, Dateien, etc.).
Eingabefelder, übergebene Parameter, abgefragte Eigenschaften, womöglich
auch was vom Browser, Useragent für Weichen (jetzt erstmal unabhängig davon
wie sinnvoll sowas ist), referrer; u.U gibts noch mehr Möglichkeiten?
Das sind alles Werte aus $_CAPSLOCK-Variablen.
Die darin befindlichen Werte sind innerhalb dieser Variablen ungefährlich. Die Gefahr kommt erst dann, wenn diese Werte für irgendeine Ausgabe verwendet werden sollen. An diesem Punkt ist Escaping zwingend erforderlich.
- Sven Rautenberg
"Love your nation - respect the others."