0

私はこのようなURLを持っています:

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

しかし、私が作るとき

var_dump($_REQUEST);

PHPスクリプトの開始時に、パラメーターがリストされていません(キー「par」が表示されません)。

parの値は、エスケープされていないタグやスペースを含むいくつかのhtmlデータです。これが、parがvar_dumpに表示されない理由でしょうか?

しかし、ローカルホストで同じパラメーターを使用してまったく同じスクリプトを実行すると、次のようになります。

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

それはうまくいきます。

「myscript.php」で始まる両方のURLをツールと比較したところ、一致しています。では、なぜサーバーではなくローカルホストでパラメーターを取得するのですか?

おそらくPHP構成に関連していますか?それは私が考えることができる唯一のことであり、それは異なる可能性があります。

前もって感謝します。

4

3 に答える 3

1

共有ホスティングサーバー、または他の誰かが構成したサーバーでこのスクリプトを使用している場合は、投稿したようなGET変数から保護するためのセキュリティ対策が講じられている可能性があります。

対策には、mod_security、アプリケーションファイアウォールなどが含まれる可能性があります。

于 2012-03-26T10:39:24.910 に答える
0

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

しかし$、パーの前に。これがうまくいくことを願っています:)

于 2012-08-25T11:20:45.853 に答える
0

はい、サーバーの構成が異なりました。この特定のケースでは、GET パラメーター (または URL、不明) の許可された長さ。

于 2012-03-29T17:27:28.523 に答える