2012-03-26 5 views
0

Ich habe URL wie folgt aus:Warum GET-Parameter auf URL angezeigt wird, aber nicht in PHP-Skript

https://domain.com/myscript.php?par=<div>x12.l3 sdfa <div> 

Aber wenn ich

var_dump($_REQUEST); 

am Anfang meiner PHP-Skript machen der Parameter ist nicht aufgelistet (Taste "par" erscheint nicht).

Der Wert von par, ist einige HTML-Daten einschließlich nicht maskiert Tags und Leerzeichen. Kann das der Grund sein, dass par nicht in var_dump erscheint?

Aber wenn ich laufe genau das gleiche Skript mit dem gleichen Parameter in localhost:

https://localhost/myscript.php?par=<div>x12.l3 sdfa <div> 

es funktioniert gut.

Ich verglich mit Tool beide URLs ab "myscript.php", sie übereinstimmen. Also warum bekomme ich den Parameter nicht auf dem Server sondern in localhost?

Ist vielleicht mit PHP-Konfiguration verwandt? Es ist das einzige, woran ich denken kann, dass es anders sein könnte.

Vielen Dank im Voraus.

+0

Mögliche XSS-Vulnerabilität –

Antwort

0

Ja, es war eine andere Konfiguration des Servers. In diesem speziellen Fall zulässige Länge der GET-Parameter (oder URL, nicht sicher).

1

Wenn Sie dieses Skript auf einem gemeinsam genutzten Hosting-Server oder auf einem von einem anderen Benutzer konfigurierten Server verwenden, sind wahrscheinlich einige Sicherheitsmaßnahmen zum Schutz vor GET-Variablen wie der von Ihnen geposteten vorhanden.

Maßnahmen könnten mod_security, applicative firewalls und andere beinhalten.

0

Änderung https://domain.com/myscript.php?par=<div>x12.l3 sdfa <div> zu https://domain.com/myscript.php?$par=<div>x12.l3 sdfa <div>

aber $ vor par. hoffe das funktioniert :)

Verwandte Themen