首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP $_SERVER 超全局變量詳解:32 個關鍵鍵值完整圖譜

     編輯:PHP 相關知識

$_SERVER 變量分類速查

$_SERVER 由 Web 服務器填充,包含請求、服務器、腳本、客戶端等環境信息。以下按功能分類整理 32 個常用鍵。

1. 腳本與請求路徑

鍵名含義示例
PHP_SELF當前執行腳本路徑 (相對 DocumentRoot)/index.php
SCRIPT_FILENAME當前執行腳本絕對路徑E:\server\index.php
SCRIPT_NAME當前腳本路徑 (同 PHP_SELF,但更標準)/index.php
REQUEST_URI請求完整 URI (含查詢串)/index.php?a=1&b=2
QUERY_STRING查詢字符串 (? 後內容)a=1&b=2
PATH_TRANSLATED文件系統路徑 (虛擬→真實映射後)E:\server\index.php

2. 服務器身份與協議

鍵名含義示例
SERVER_NAME主機名 (Host 頭或配置值)example.com
SERVER_SOFTWARE服務器標識字符串Apache/2.4.41
SERVER_PROTOCOL請求協議版本HTTP/1.1
SERVER_PORT服務器端口80 / 443
SERVER_ADMIN管理員郵箱 (Apache 配置)admin@example.com
SERVER_SIGNATURE服務器版本與虛擬主機名 (錯誤頁面用)Apache/2.4.41 (Ubuntu) Server at...

3. 請求方法與時間

鍵名含義示例
REQUEST_METHODHTTP 方法GET、POST、PUT
REQUEST_TIME請求開始時間戳 (秒,PHP 5.1+)1699900000
REQUEST_TIME_FLOAT請求開始時間戳 (微秒,PHP 5.4+)1699900000.1234
argvCLI 參數數組 / GET 參數 (舊式)['a=1', 'b=2']
argc參數個數2

4. 客戶端信息 (HTTP 頭映射)

鍵名來源頭示例
HTTP_HOSTHostexample.com
HTTP_USER_AGENTUser-AgentMozilla/5.0...
HTTP_REFERERRefererhttps://google.com/
HTTP_ACCEPTAccepttext/html,application/xhtml+xml
HTTP_ACCEPT_CHARSETAccept-Charsetutf-8,iso-8859-1
HTTP_ACCEPT_ENCODINGAccept-Encodinggzip, deflate, br
HTTP_ACCEPT_LANGUAGEAccept-Languagezh-CN,zh;q=0.9
HTTP_CONNECTIONConnectionkeep-alive
HTTP_COOKIECookiePHPSESSID=abc; lang=zh

5. 客戶端網絡身份

鍵名含義注意
REMOTE_ADDR客戶端 IP代理下需讀 HTTP_X_FORWARDED_FOR
REMOTE_HOST客戶端主機名 (反解 IP)需服務器啟用 HostnameLookups On
REMOTE_PORT客戶端源端口部分服務器不填充

6. HTTPS 與認證

鍵名含義
HTTPS非空表示 HTTPS 請求 (值通常為 on)
PHP_AUTH_USERHTTP Basic Auth 用戶名
PHP_AUTH_PWHTTP Basic Auth 密碼
PHP_AUTH_DIGESTHTTP Digest Auth Authorization 頭
AUTH_TYPE認證類型 (Basic/Digest)

7. 文檔根目錄

鍵名含義示例
DOCUMENT_ROOT當前腳本 DocumentRoot (配置值)E:\server / /var/www/html

實戰提示

  • 獲取真實客戶端 IP:$_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'] (注意防偽造)。
  • 判斷 HTTPS:(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443。
  • CLI 模式下:$_SERVER['argv']、argc 可用;REQUEST_URI 等 Web 變量不可用。
  • 安全警告:HTTP_REFERER、HTTP_USER_AGENT、HTTP_X_FORWARDED_FOR 均可偽造,**不可用於權限判斷**。

收藏此表,調試、日誌、防禦、路由場景秒速查閱。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved