<form action=""> vs. <form action="<form action="$_SERVER['PHP_SELF']">
bearbeitet von Julius
 Julius
    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:
~~~html, bad
<!doctype html>
<form action="<?=$_SERVER['SCRIPT_NAME']?>"><input></form>
~~~
wir erhalten als Ergebnis:
~~~html, bad
<!doctype html>
<form action="/Schreibtisch/" onmouseover="alert('hack3d!').php"><input></form>
~~~
Gruß  
Julius
--- 
[^1]: Ja, ich weiß: Niemand benennt seine Scripte so, aber hier geht es ums Prinzip.
 nicht angemeldet
 nicht angemeldet