$_SERVER['HTTPS'] が未定義のままで、従来の HTTPS チェック方法が妨げられる状況
次の関数は、接続の有無に関係なく、正確な検出を保証します。 $_SERVER['HTTPS'] が存在します:
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
PHP ドキュメントとユーザー フィードバックに記載されているように、このコードは IIS とシームレスに動作します。
ロード バランサーがクライアントとサーバーの間を仲介する場合、このコードは主にクライアントとロード バランサーの接続ではなく、ロード バランサーとサーバーの間の接続を検査することに注意してください。
以上が$_SERVER['HTTPS'] が信頼できない場合に HTTPS 接続を確実に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。