了解PHP $_SERVER['HTTP_HOST'] 和$_SERVER['SERVER_NAME']
決定用於網站的正確變數連結定義引發了擔憂。 PHP 文件和廣泛的線上搜尋得出以下見解:
**$_SERVER['HTTP_HOST'] 與**_$SERVER['SERVER_NAME']
$_SERVER['SERVER_NAME'] 依賴Web 伺服器的設定(通常是Apache2),並受VirtualHost、ServerName和 UseCanonicalName 等指令的影響。
相反,$_SERVER['HTTP_HOST'] 是客戶端請求派生的。
選擇適當的變數
基於這些差異,$_SERVER['HTTP_HOST'] 似乎更適合確保各種環境之間的相容性。然而,一些文章表明 $_SERVER 變數在安全上下文中不可靠。
安全注意事項
PHP 文件和參考文獻(例如Mark Jaquith 的文章)強調了這種潛力在沒有適當清理的情況下在表單操作中使用$_SERVER['PHP_SELF'] 時進行XSS 攻擊。不過,這個問題並不直接適用於 $_SERVER['HTTP_HOST']。
結論
雖然$_SERVER['HTTP_HOST'] 解決了相容性問題,透過實施安全措施謹慎行事非常重要,例如:
採取這些措施,您可以確保在網站的連結定義中安全可靠地使用 PHP $_SERVER 變數。
以上是哪一個 PHP $_SERVER 變數最適合網站連結定義:HTTP_HOST 還是 SERVER_NAME?的詳細內容。更多資訊請關注PHP中文網其他相關文章!