Hallo Gunnar,
" und ' müssen in HTML als Elementinhalt nicht escapet werden, sondern nur in Attributwerten
Ja gut, kontextgerechte Behandlung bedeutet auch, den jeweiligen Kontext korrekt zu identifizieren und die entsprechende Maskierung durchzuführen
$snip = "<img src='$imgsrc' alt='A foo's folly'>";
da merkt man schon beim Schreiben, dass da was falsch ist und würde von Hand ein ' einsetzen müssen (und $imgsrc wurde hoffentlich anderweit vorbehandelt). Bei
$snip = "<img src='$img->url' alt='$img->altText'>";
fällt das nicht auf, aber da muss man dann eben drauf achten, korrekt zu maskieren:
$snip = sprintf("<img src='%s' alt='%s'>",
htmlspecialchars($img->url, ENT_QUOTES | ENT_HTML5),
htmlspecialchars($img->altText, ENT_QUOTES | ENT_HTML5));
ist dann angesagt.
Das ist der Vorteil von UI Frameworks wie ASP.NET, die kümmern sich da automagisch drum. Dafür haben sie genügend anderen Unfug im Kopf.
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi