PHP における HTTP_HOST と SERVER_NAME の違いを理解する
PHP には、$_SERVER['HTTP_HOST'] と $_SERVER[' という 2 つの変数があります。 SERVER_NAME']、Web リクエストのホストに関する情報を伝えます。この記事では、これらの変数の違いを詳しく説明し、それぞれをいつ使用するかについてのガイダンスを提供します。
HTTP_HOST
HTTP_HOST 変数は HTTP リクエスト ヘッダーから収集され、次のことを表します。クライアントによって指定されたターゲット ホスト。この値はユーザー エージェントによって操作される可能性があり、セキュリティの観点から必ずしも信頼できるわけではありません。
SERVER_NAME
SERVER_NAME 変数はサーバーの構成ファイルで構成され、 PHP スクリプトをホストしているサーバーのホスト名。サーバーの制御下にあるため、一般に信頼性が高くなります。
HTTP_HOST と SERVER_NAME の選択
HTTP_HOST と SERVER_NAME の適切な選択は、使用目的によって異なります。
信頼性に関する考慮事項
SERVER_NAME の信頼性は Web サーバーの構成によって左右されることに注意することが重要です。 Apache HTTP Server の VirtualHost セクションで UseCanonicalName ディレクティブが有効になっていない場合、SERVER_NAME の HTTP Host ヘッダーの値が誤って返される可能性があります。
UseCanonicalName を「on」に設定すると、Apache HTTP Server が正確な SERVER_NAME 値を提供します。この変数の信頼性を保証するために、サーバー構成を確認することをお勧めします。
以上がPHP における HTTP_HOST と SERVER_NAME: どちらの変数を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。