在沒有$_SERVER['HTTPS'] 的情況下確定HTTPS 使用情況的替代方法
驗證傳統方法包括檢查$ 的值_SERVER['HTTPS']。但是,在某些伺服器配置上,可能未定義此變量,從而導致錯誤。
解決方案
為了解決此問題,以下函數提供了可靠的替代方案確定HTTPS 連接:
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
相容性與說明
負載平衡器注意事項
此程式碼僅測試伺服器和負載平衡器之間的連接(如果存在負載平衡器)。為了測試客戶端和負載平衡器之間的連接,應使用 HTTP_X_FORWARDED_PROTO 標頭,儘管這種方法更加複雜。
以上是如何在不依賴 $_SERVER['HTTPS'] 的情況下可靠地檢測 HTTPS 使用情況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!