Hi!
Im Abschnitt "Javascript im HTML-Dokument" würde ich an Deiner Stelle noch ein paar Beispiele hinzufügen, um die Gefährlichkeit von XSS etwas zu demonstrieren.
Für XSS wäre das aber der falsche Abschnitt, denn dann geht es ja um das Einfügen von Daten in JavaScript, was im Abschnitt "JavaScript" behandelt wird. Und vermutlich hast du auch noch document.write(... + daten) im Sinn. Das wäre der Kontext HTML, diesmal von JavaScript aus. Wenn der JS-Code auch noch mit PHP erzeugt wird ... es gibt einfach zu viele Kombinationsmöglichkeiten beim Schachteln von Kontexten.
Die Inspiration zu dem von dir genannten Abschnitt kam mir aufgrund des Postings https://forum.selfhtml.org/?t=188423&m=1254156. Da sind keine Benutzereingaben vorgesehen. Es handelt sich dabei nur um einen Irrtum vom Autor beim Schreiben von JS-Code. Der Abschnitt verträgt sicher noch ein paar Wörter und ein Beispiel mehr, damit er etwas eindeutiger wird.
Genauso wäre bei Datenbanken auch ein Beispiel für die Identifier-Geschichte wichtig, damit klar gemacht wird, wie Du das genau meinst (gerade für Anfänger ist es IMHO oft schwierig, ohne Beispiel so etwas zu verstehen). Zudem könntest Du andere Dinge bei automatisch zusammengebaute SELECTs erwähnen, es gibt ja oft sowas wie $sql = "SELECT ... ORDER BY " . $_GET['order_by']; oder so...
Danke für das gute Beispiel. Mir fielen beim Entwerfen des Artikels immer nur Stellen ein, für die selten Identifier aus Benutzereingaben verwendet werden (à la Datenbankverwaltungssoftware). Doch das ORDER BY ist eine Stelle, die schon eher in "normalen" Anwendungen aufgefunden werden kann. Insofern bekommt die Identifier-Geschichte auch noch etwas mehr praktische Relevanz.
(Vielleicht als Inpsiration was man erwähnen sollte: Stefan Esser hat auf der "Dutch PHP Conference" ein paar Vorträge gehlaten, von denen die Folien verfügbar sind.)
Mal sehen, was ich davon noch "verwerten" kann.
Ansonsten: Ich hab's mir nur flüchtig durchgelesen, gefällt mir aber bisher. Gute Arbeit!
Danke für's Feedback. Es ist immer gut, wenn nochmal jemand anderes den Text liest. Ich selbst bin ja "befangen" und sehe nicht unbedingt immer die Problemstellen bei der thematischen Verständlichkeit oder der meines Geschreibsels.
Lo!