WordPress 高级管理手册

title: "Cookies" post_status: publish comment_status: open taxonomy: category: - advanced-administration-handbook post_tag: - Wordpress - Repos - Data


Cookies

WordPress 使用 Cookie(存储在您计算机上的微小信息片段)来验证您的身份。有针对登录用户和评论者的 Cookie。

WordPress 使用 Cookie 进行身份验证。这意味着要登录您的 WordPress 站点,您必须在浏览器中启用 Cookie。

您可以在此处找到最流行浏览器的管理方法信息: - Google Chrome - Mozilla Firefox - Microsoft Edge - Safari - Opera - Brave

用户是指在 WordPress 站点注册了账户的人。

登录时,WordPress 使用 wordpress_[hash] cookie 来存储您的身份验证信息。其使用范围仅限于管理后台区域 /wp-admin/

登录后,WordPress 会设置 wordpress_logged_in_[hash] cookie,该 cookie 用于在大多数界面操作中标识您的登录状态和身份。

WordPress 还会设置一些 wp-settings-{time}-[UID] cookie。末尾的数字是您在用户数据库表中的唯一用户 ID。此 cookie 用于自定义您对管理界面(可能也包括主站点界面)的视图。

Cookie 的生命周期可通过 auth_cookie_expiration 钩子进行调整。相关示例可参阅 what's the easiest way to stop wp from ever logging me out

非版本特定数据

实际 Cookie 包含您的用户名、过期时间以及确保您拥有有效会话的哈希数据。哈希是对某些数据应用特定数学公式的结果。对于这些 Cookie,仅将您哈希密码的 4 个字符存储在 Cookie 的哈希值中。这确保无法从 Cookie 中检索您的密码。同时确保每当您更改密码时,任何 Cookie 都将失效。

WordPress 使用这两个 Cookie 来绕过 wp-login.php 的密码输入部分。如果 WordPress 识别到您拥有有效且未过期的 Cookie,您将直接进入 WordPress 管理界面。如果您没有 Cookie,或 Cookie 已过期,或以其他方式无效(例如您手动编辑了它们),WordPress 将要求您重新登录以获取新的 Cookie。

当访客在您的博客上发表评论时,他们的计算机上也会存储 Cookie。这纯粹是为了方便,以便访客在想要再次发表评论时无需重新填写所有信息。为评论者设置了三个 Cookie:

评论者 Cookie 的有效期设置为自设置之日起略少于一年。

WordPress 会设置一个名为 wordpress_test_cookie 的临时 Cookie,用于探测 WordPress 设置 Cookie 的能力。如果写入此 Cookie 失败,您将看到以下错误信息:"您的浏览器阻止或不支持 Cookie。"

如果在迁移网站后遇到此问题,请尝试删除您的 Cookie;如果使用了缓存插件,请同时清除服务器缓存。这将解决临时性问题。

WordPress 允许您在登录时更改所有可翻译字符串的语言。为此,WordPress 会设置一个名为 wp_lang 的 Cookie,这是一个会话 Cookie,用于存储所选语言的语言键。

References