登錄 wordpress
登錄 wordpress 的時候 Cookie 顯示為
PHPSESSID=ubilj5ad65810hqv88emitmvkc; isLogin=true; night=0; wordpress_logged_in_27e3261db108cd80480af5f900ac865e=1735846526%7C1744418831%7CrTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc%7C3fa99b7f0728dffc47f75b2ff9fad46c63c2829a512e6a09c3bf3bde7cf48946; Hm_lvt_b9d1067bce8fcdeb644686f85bafea51=1743219234; Hm_lpvt_b9d1067bce8fcdeb644686f85bafea51=1743219234; HMACCOUNT=1BDCC2409CB6526C
關閉瀏覽器后重新打開頁面 cookie 顯示為
PHPSESSID=ubilj5ad65810hqv88emitmvkc; isLogin=true; wordpress_logged_in_27e3261db108cd80480af5f900ac865e=1735846526%7C1744418831%7CrTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc%7C3fa99b7f0728dffc47f75b2ff9fad46c63c2829a512e6a09c3bf3bde7cf48946; Hm_lvt_b9d1067bce8fcdeb644686f85bafea51=1743219234
其中 Hm_lvt_*
, Hm_lpvt_*
和 HMACCOUNT
是百度統計相關的(百度使用的),精簡后有效的 cookie 內容為
PHPSESSID=ubilj5ad65810hqv88emitmvkc; isLogin=true; wordpress_logged_in_27e3261db108cd80480af5f900ac865e=1735846526%7C1744418831%7CrTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc%7C3fa99b7f0728dffc47f75b2ff9fad46c63c2829a512e6a09c3bf3bde7cf48946;
Cookie 的解釋
wordpress_logged_in_27e3261db108cd80480af5f900ac865e
27e3261db108cd80480af5f900ac865e
:這是一個 MD5
哈希值,基于 wordpress 安裝的 site_url()
計算得出
Cookie 值
1735846526%7C1744418831%7CrTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc%7C3fa99b7f0728dffc47f75b2ff9fad46c63c2829a512e6a09c3bf3bde7cf48946
其中 %7C
是 URL 編碼的 |
(豎線),用于分隔數據,URL 解碼后是
1735846526|1744418831|rTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc|3fa99b7f0728dffc47f75b2ff9fad46c63c2829a512e6a09c3bf3bde7cf48946
各部分含義如下:
-
1735846526
用戶 ID 或用戶名的 Hash -
1744418831
過期時間的 UNIX 時間戳(即Date + 14天
,若 “記住我” 未勾選,默認是 48 小時) -
rTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc
用戶身份驗證的 HMAC(Hash-based Message Authentication Code) -
3fa99b7f0728dffc47f75b2ff9fad46c63c2829a512e6a09c3bf3bde7cf48946
HMAC 校驗碼
其中 HMAC(Hash-based Message Authentication Code)是基于哈希的消息認證碼,用于確保 Cookie 沒有被篡改
計算規則如下
HMAC = HMAC-SHA1(AUTH_KEY . user_login . expiration_time . session_key, SECURE_AUTH_KEY)
這里的各字段解釋如下
-
AUTH_KEY 和 SECURE_AUTH_KEY:在 wp-config.php 中定義的安全密鑰
-
user_login:用戶名
-
expiration_time:Cookie 過期時間
-
session_key:會話密鑰,也就是上面的
rTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc
這串
Cookie 校驗流程
當用戶訪問站點時:
-
WordPress 解析 Cookie 并提取用戶信息
-
WordPress 計算應得的 HMAC 并與 Cookie 里的值比對,確保 Cookie 未被篡改
-
若 HMAC 校驗通過,則用戶被視為已登錄