wordpress的cookie理解

登录 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

各部分含义如下:

  1. 1735846526 用户 ID 或用户名的 Hash

  2. 1744418831 过期时间的 UNIX 时间戳(即 Date + 14天,若 “记住我” 未勾选,默认是 48 小时)

  3. rTugvME3l2ZITBoxf6JAsAn4woFdbIZvggvvKDRHQhc 用户身份验证的 HMAC(Hash-based Message Authentication Code)

  4. 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 校验流程

当用户访问站点时:

  1. WordPress 解析 Cookie 并提取用户信息

  2. WordPress 计算应得的 HMAC 并与 Cookie 里的值比对,确保 Cookie 未被篡改

  3. 若 HMAC 校验通过,则用户被视为已登录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/74001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 中的原型链与继承

JavaScript 是一种基于原型的编程语言,这意味着它的对象继承是通过原型链而非类的机制来实现的。原型链是 JavaScript 中对象与对象之间继承属性和方法的基础。本文将深入探讨 JavaScript 中的原型链和继承机制,帮助你理解这一重要概念。 一、原型&…

2.pycharm部署Ai - 编程好助手

一、pycharm安装continue插件 1.提前安装好pycharm,并双击打开 2.File – Setting 3.Plugins – 搜索Continue , 点击Install安装 4.点ok 二、获取硅基流动API 1.登入网站:https://siliconflow.cn/zh-cn/#/,并注册登入 2.获取AP…

【蓝桥杯14天冲刺课题单】Day3

1. 题目链接:1025 答疑 贪心类型的题目做法很简单,只需要保证局部解最优即可保证整体解最优。 这里的思路就是第i个学生前面的人答疑所用的时间最短,那么他所发送短信的时间节点越小。这道题目有个需要注意的点是:要先将前i-1个…

虚拟pinctrl驱动

之前呢,我们讲解了在内核中pinctrl子系统是怎么实现的,今天我们来尝试一下自己去写一个pinctrl子系统: 首先呢,我们来看看一个pinctrl子系统需要做的事情: 上面的话,我们看了一个pinctrl子系统需要的三大功能以及在驱…

Spring Boot自动配置原理解析

文章目录 前言一、SpringBootConfiguration二、EnableAutoConfiguration2.1、AutoConfigurationPackage2.2、Import(AutoConfigurationImportSelector.class) 三、ComponentScan四、自动配置源码4.1、获取所有候选的自动配置类4.2、过滤不满足条件的自动配置 总结 前言 在常规的…

2025/3/20 心得

第一题。 M. B - Smartphone Addiction 问题描述 高桥的智能手机电池容量为NN毫安时。在时间0.50.5、1.51.5、2.52.5等时刻(即对于每个整数nn,时间为n 0.5n0.5),电池电量减少11毫安时。 高桥将在时间00带着充满电的手机离开…

MQTT之重复消息(6、在项目中遇到的问题)

项目背景: 在 Spring Boot MQTT 5.0 环境中,RTU设备向SpringBoot平台发送心跳数据、业务监控数据。同时SpringBoot平台可以向RTU设备下发指令,RTU在执行完指令之后向平台发送响应数据。 问题一、SpingBoot平台发送指令给RTU设备,RTU设备能够…

Cesium 全面介绍

一、Cesium 是什么? Cesium 是一个开源的 JavaScript 库,专门用于构建高性能的 3D 地理空间可视化应用。它基于 WebGL 技术,无需插件即可在浏览器中渲染全球地形、影像、3D 模型、矢量数据等,支持从卫星视角到地下管网的 全维度空…

Trae-中国首款免费AI原生IDE

Trae 简介 Trae 是由字节跳动于2025年1月推出的国内首个原生AI集成开发环境(IDE),旨在通过AI技术赋能开发者,简化编程流程。其核心功能基于Claude 3.5和GPT-4o等先进AI模型,支持智能代码生成、优化及多模态交互&#…

1.3 斐波那契数列模型:LeetCode 746. 使用最小花费爬楼梯

动态规划解最小花费爬楼梯问题:LeetCode 746. 使用最小花费爬楼梯 1. 题目链接 LeetCode 746. 使用最小花费爬楼梯 题目要求:给定一个整数数组 cost,其中 cost[i] 是从楼梯第 i 阶向上爬所需支付的费用。你可以从下标 0 或 1 的台阶开始爬&a…

游戏开发中的贝塞尔曲线:感受丝滑的数学之美

这是一篇vip文章,如果你还不是vip,可以移步https://www.ilikexff.cn/articles/165免费阅读。 介绍 贝塞尔曲线是计算机图形学中最重要的概念之一,以其在表示曲线时的灵活性和精确性而闻名。广泛应用于计算机图形学、动画、路径规划等领域的数学曲线。 贝塞尔曲线的数学原理基…

强化学习课程:stanford_cs234 学习笔记(2)introduction to RL

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言5、强化学习课程大纲5.1 课程内容主:5.2 马尔可夫决策过程:5.2.1 马尔可夫性 markov propterty5.2.2 马尔可夫过程 markov process5.2.3…

第 26 场 蓝桥月赛 部分题解

第 26 场 蓝桥月赛 2.灯笼猜谜3.元宵分配4.摆放汤圆5.元宵交友(运行超时 通过90%) 2.灯笼猜谜 分析:以当前位置为视角,要想移动的距离尽可能的少,按顺序猜谜语,给你一个区间,有三种情况&#xf…

JAVA实战开源项目:体育馆使用预约平台(Vue+SpringBoot) 附源码

本文项目编号 T 144 ,文末自助获取源码 \color{red}{T144,文末自助获取源码} T144,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

解决【vite-plugin-top-level-await】 插件导致的 Bindings Not Found 错误

解决【vite-plugin-top-level-await】 插件导致的 Bindings Not Found 错误 环境设置 操作系统: macOS硬件平台: M1 Pro前端框架: Vue 3Node.js 版本: 20 在使用 Vue 项目时,我们尝试集成 vite-plugin-top-level-await 插件以支持顶层 await 语法。然而&#xff…

推荐系统(十九):优势特征蒸馏(Privileged Features Distillation)在商品推荐中的应用(二)

在上一篇文章《推荐系统(十八):优势特征蒸馏(Privileged Features Distillation)在商品推荐中的应用》中,笔者实现了一个基于 PFD 思想的 Demo。其中,Teacher 模型和 Student 模型都是简单的单任务(CTR)模型,在本节,笔者将基于 PFD 思想实现一个多任务模型:其中,Tea…

深度学习之卷积

从全连接到卷积 MLP的缺陷,假设有如下的场景: 分类猫和狗的图片 使用一个还不错的相机采集图片(12M像素)RGB图片有 36M元素使用100大小的单隐藏层MLP,模型有 3.6B元素 远多于世界上所有猫和狗总数(900M狗,600M猫) …

目标识别与双目测距(1)环境搭建:Ubuntu+yolov5+pcl库

环境情况 ubuntu 18.04 → 20.04(最终) 安装Ubuntu1804虚拟机系统 Anaconda:可参考我的另一篇文章 Python 3.6.13 → 3.8(最终)Anaconda3-2021.05 目标识别:YOLOv5相关 1、安装git sudo apt install gi…

LinuxTCP/UDP基础概念

TCP(传输控制协议) TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。它的主要特点包括: 面向连接:在传输数据之前,需要通过“三次握手”建立连接;传输结束后,通过“四次挥手”断开…

MP3、WAV、RM、PNG格式

MP3、WAV、RM、PNG格式 MP3 是一种音频压缩格式,采用了 MPEG-1 Audio Layer 3 或 MPEG-2 Audio Layer 3 编码标准.MP3 格式能够以较小的文件大小存储高质量的音频,可在多种设备如手机、MP3 播放器、电脑上播放,是目前应用最广泛的音频格式之一. MPEG-1 是MPEG(Moving Pictu…