PHP サイト URL プロトコルの取得: HTTP と HTTPS
PHP での現在のサイト URL プロトコル (HTTP または HTTPS) の決定は、安全性を確保するために不可欠です。一貫したウェブサイト運営。この記事では、プロトコル検出の微妙な違いを探り、関連する質問に答えます。
最初に、特定のサーバー変数に基づいてプロトコルを確立することを目的とした関数を提供しました。ただし、プロセスを簡素化する代替アプローチを提案します。
改善されたプロトコル検出機能:
<code class="php">function siteURL() { $protocol = isset($_SERVER['HTTPS']) ? 'https://' : 'http://'; $domainName = $_SERVER['HTTP_HOST'].'/'; return $protocol.$domainName; } define( 'SITE_URL', siteURL() );</code>
この改善された機能:
SSL と変換の処理:
SSL では、最新のブラウザは通常、HTTP URL を HTTPS に自動的に変換します。ただし、サーバーはこの変換を強制しません。アンカー タグの URL が依然として HTTP を使用している場合、siteURL() 関数は正しく HTTP を返します。
セキュリティへの影響:
一般に、プロトコルの検出は、 SSL で安全に動作します。ただし、スクリプトまたは URL でプロトコルを明示的に定義する必要がある特定のシナリオでは便利です。
選ばれた答え:
受け取った回答:
<code class="php">if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) || ...</code>
技術的には正しいですが、HTTPS を検出するためのロジックを不必要に拡張します。上に示した単純化された関数は、同じ結果をより簡潔に実現します。
以上がPHP でサイトの URL プロトコル (HTTP または HTTPS) を確実に判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。