PHP で完全な URL を取得する
コード スニペット $actual_link = 'http://' を使用して完全な URL を取得しようとする場合.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];、次のような制限に直面します。 .htaccess マスキング。返される URL は、ブラウザのナビゲーション バーに表示される URL を正確に反映していない可能性があります。
ブラウザに表示される正確な URL を取得するには、$_SERVER['REQUEST_URI'] 変数を利用します。次のコードは、その使用法を示しています。
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
HTTP プロトコルと HTTPS プロトコルの両方にわたる柔軟性を得るには、次のコードを使用します。
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
セキュリティに関する考慮事項
このコードにはセキュリティ上の影響があることに注意することが重要です。クライアントとサーバーは、HTTP_HOST と REQUEST_URI を任意の値に変更できます。これらの値がセキュリティ コンテキスト (CWE-20) で悪用されるのを防ぐには、適切なサニタイズと入力検証が重要です。
以上が.htaccess とセキュリティを考慮して、PHP でブラウザに表示される完全な URL を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。