PHP 取得網站URL 協定:HTTP 與HTTPS
在PHP 中決定目前網站URL 協定(HTTP 或HTTPS)對於安全至HTTPS)對於安全性至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>
以上是如何在 PHP 中可靠地確定網站的 URL 協定(HTTP 或 HTTPS)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!