問題と解決策に焦点を当てた、いくつかのタイトルのオプションを次に示します。 オプション 1 (直接的かつ簡潔): PHP で正しいサイト URL プロトコルを確認する方法 (http と https) オプション 2 (チャを強調する)

DDD
リリース: 2024-10-27 11:50:02
オリジナル
113 人が閲覧しました

Here are a few title options, focusing on the problem and solution:

Option 1 (Direct and concise):
How to Determine the Correct Site URL Protocol in PHP (http vs https)

Option 2 (Emphasizing the challenge):
PHP: Accurately Detecting Site URL Protocol (h

PHP サイト URL プロトコルの取得 - http と https

問題の概要

現在のサイト URL プロトコル (http または https) を決定することは、安全で一貫したウェブサイト運営。ただし、ローカルで開発する場合、または SSL を使用せずに開発する場合、そのような関数の精度をテストするのは困難であることが判明する可能性があります。

関数の実装

提供された関数「siteURL」は、 $_SERVER 配列の 'HTTPS' キーとその空でない値または 'off' 値。または、「SERVER_PORT」が 443 であるかどうかを確認します。いずれかの条件が満たされる場合は「https://」を返し、そうでない場合は「http://」を返します。

代替案と懸念事項

SSL がない場合、プロトコルを正確に判断するには、$_SERVER 配列を調べる必要があります。ただし、SSL がアクティブな場合、アンカー タグの URL が http を使用している場合でも、サーバーは URL を自動的に https に変換します。その結果、プロトコルをチェックする必要がないと思われるかもしれません。

実装の改善

これに対処するために、$_SERVER で HTTPS と HTTP の両方のプロトコル インジケータをチェックすることで実装を改善することが提案されています。配列。これらの条件のいずれかが満たされる場合、関数は正しいプロトコルを返します。

<code class="php">if (isset($_SERVER['HTTPS']) &&
    ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
    isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
    $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
  $protocol = 'https://';
}
else {
  $protocol = 'http://';
}</code>
ログイン後にコピー

このアプローチにより、SSL が有効であるかどうかに関係なく、両方のケースで正確さが保証されます。

以上が問題と解決策に焦点を当てた、いくつかのタイトルのオプションを次に示します。 オプション 1 (直接的かつ簡潔): PHP で正しいサイト URL プロトコルを確認する方法 (http と https) オプション 2 (チャを強調する)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!