PHP について $_SERVER['HTTP_HOST'] および $_SERVER['SERVER_NAME']
Web サイトに使用する正しいサーバー変数の決定リンク定義では懸念が生じます。 PHP ドキュメントと広範なオンライン検索により、次のような洞察が得られます:
**$_SERVER['HTTP_HOST'] 対 **_$SERVER['SERVER_NAME']
$_SERVER['SERVER_NAME'] は Web サーバーの設定 (通常は Apache2) に依存し、VirtualHost、ServerName、UseCanonicalName などのディレクティブの影響を受けます。
逆に、$_SERVER['HTTP_HOST'] はクライアント要求から派生します。
適切な変数の選択
これらの違いに基づくと、さまざまな環境間での互換性を確保するには $_SERVER['HTTP_HOST'] の方が適切であると思われます。ただし、セキュリティ コンテキストにおける $_SERVER 変数の信頼性の低さを示唆する記事から懸念が生じています。
セキュリティに関する考慮事項
PHP ドキュメントや、Mark Jaquith の記事などの参考文献では、潜在的な可能性が強調されています。適切なサニタイズを行わずにフォームアクションで $_SERVER['PHP_SELF'] を使用する場合の XSS 攻撃。ただし、この問題は $_SERVER['HTTP_HOST'] には直接当てはまりません。
結論
$_SERVER['HTTP_HOST'] は互換性の問題に対処していますが、次のようなセキュリティ対策を実装して注意することが重要です。
これらの措置を講じることにより、Web サイトのリンク定義で PHP $_SERVER 変数を安全かつ信頼性高く使用できるようになります。
以上がWeb サイトのリンク定義には、HTTP_HOST と SERVER_NAME のどちらの PHP $_SERVER 変数が最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。