Hallo,
Eine sehr "schöne" Lücke ist das, denn damit kann man sonstwohin springen lassen. Zum einen ist es nicht notwendig, $_GET["page"] nach $pg umzukopieren.
mach ich aber ;)und wozu? Jede neue Variable braucht Speicherplatz. Aber das ist nicht entscheidend.
Viel gravierender ist: Durch das Umkopieren wird die Herkunft der Daten verschleiert. Wenn $_GET['var'] in einem Ausdruck auftaucht, sieht man sofort: Aha, Benutzereingabe - aufpassen, nicht vertrauenswürdig. Einer Variablen wie $page sieht man das nicht mehr an.
ich weis doch was das für eine veriable ist
Zum anderen wäre es sinnvoll, vor dem Springen das in $_GET["page"] übergebene gegen eine Liste erlaubter Werte zu prüfen.
ich habe bis jetzt keine seiten die da nicht benutzt werden sollen.Es wäre dir also auch egal, wenn ein Scherzkeks sich durch /?page=http%3A%2F%2Fwww%2Egoogle%2Ecom%2F zu Google weiterleiten lässt.
haste auch wieder recht ^^
Obendrein verlangt die Spezifikation, dass beim Location-Header eine vollständige URL anzugeben sei.
und wieso sollte ich eine komplette URL eingeben wenns auch ohne geht?!?Weil's die Spezifikation vorschreibt, und weil das Argument "wenns auch ohne geht" irgendwo zwischen Zufall und browserseitiger Fehlertoleranz dümpelt. Schon mit der nächsten Browserversion *könnte* es nicht mehr funktionieren, weil es nicht funktionieren *muss*.
tuts aber, zumindest im firefox und wer IE benutzt ist selber schuld, und wenn nicht mehr aktualisier ich das halt