Hallo TS,
ist nicht sicher gegen XXS-Angriffe. Du solltest den Wert
$_SERVER['PHP_SELF']
entweder kontextbehandeln (htmlspecialchars()), oder aber stattdessen$_SERVER['SCRIPT_NAME']
verwenden.
Auch hier muss htmlspecialchars
zum Einsatz kommen, da die Ausgabe HTML ist. Kontextwechselbehandlung macht man nicht nur, um XSS-Angriffen vorzubeugen, sondern weil es nötig ist und es sonst zu komischen Resultaten führen kann. Wenn im folgenden Beispiel das Script " onmouseover="alert('hack3d!').php
[1] heißt, dann knallt es:
<!doctype html>
<form action="<?=$_SERVER['SCRIPT_NAME']?>"><input></form>
wir erhalten als Ergebnis:
<!doctype html>
<form action="/Schreibtisch/" onmouseover="alert('hack3d!').php"><input></form>
Nachtrag: Ich glaube, dass Matthias diese Problematik bereits im vorherigen Beitrag anschnitt, ich habe es noch mal ausführlicher erläutert.
Gruß
Julius
Ja, ich weiß: Niemand benennt seine Scripte so, aber hier geht es ums Prinzip. ↩︎