4

PHP doc ページに関する次のコメントを読みました。

「サーバー配列のほとんどのコンテンツ ($_SERVER['SERVER_NAME'] でさえも) はクライアントによって提供され、操作できることに注意してください。それらはインジェクションにも使用できるため、他のユーザー入力と同様にチェックして処理する必要があります。 ."

次に、 StackOverflow で、 $_SERVER['SERVER_NAME'] は部分的にサーバーによって制御されているというトピックを見ました。

この値を信頼して自分の Web サイトの URL を取得できますか? $_SERVER['SERVER_NAME'] を本当に信頼できない場合、どうすればこの値を取得できますか? 考えられる代替案とその長所と短所は何ですか?

OBS: Apache、Unix 上の PHP 5.3。

4

2 に答える 2

3

私は通常、自分の Web サイトへの「実際の」URL をサイト構成ファイルにハードコーディングします。あなたのURLを伝えるために、Apacheが「言う」ことに頼りません。同じ docroot を指すいくつかの異なる仮想ホストまたはサーバー エイリアスがありますか?

于 2012-09-07T14:02:57.630 に答える
1

http://www.apacheref.com/ref/http_core/UseCanonicalName.htmlで説明されているように、Apache 構成内で UseCanonicalName ディレクティブを有効にすることで、この変数の安全性を強化できます。

于 2012-09-07T14:02:47.967 に答える