gpt4 book ai didi

authentication - Wordpress 存储用户身份验证数据的方式背后的细节是什么?

转载 作者:行者123 更新时间:2023-12-02 00:45:02 25 4
gpt4 key购买 nike

首先,让我定义最终目标:

我想使用 Wordpress(2.8 版)来管理网站的身份验证数据/凭据和访问控制。网站的大部分内容将使用 Wordpress,但某些页面将在 Wordpress 环境之外构建。这些页面应该能够使用存储在 Wordpress 数据库中的用户身份验证数据作为引用来做出自己的访问决定。

所以,问题:

Wordpress 究竟如何将用户身份验证数据存储在其数据库中?


这个答案的第一部分很简单,在 Wordpress 数据库中,有一个表保存主要用户数据。我相信此表的默认名称是“wp_users”,但可以根据 Wordpress 的设置方式进行更改。此表包含字段“user_login”和“user_pass”,分别保存用户名和密码数据。

“user_login”只是一个纯文本字段,因此很容易访问,但密码经过加盐和哈希处理。这导致仍然需要确定的第一件事:Wordpress 用于生成它存储在“user_pass”中的字符串的加盐和散列过程是什么?

另一个保持开放的部分是 Wordpress 在哪里/如何存储它的“角色”。在我的安装中,这些角色默认为:Administrator、Editor、Author、Contributor 和 Subscriber。我看不到的是这些角色是如何与个人用户相关联的。另外,这些角色可以改变吗?


因此,回顾一下,真正的问题分为三个部分:

1) Wordpress 将用户的明文密码转换为存储在“wp_users”数据库表的“user_pass”列中的字符串的具体方法是什么?

2) 个人用户和他们各自的 Wordpress“角色”之间的链接存储在哪里?

3) 可以修改 Wordpress 中的“角色”以更改其名称和/或添加/删除它们吗?


注意:我意识到另一种方法是让非 Wordpress 页面检查 Wordpress cookie 以确定访问权限。我将按照这些思路提出另一个问题,但出于这个问题的目的,重点是非 Wordpress 页面如何利用实际的 Wordpress 数据库来决定访问控制。

最佳答案

  1. WordPress 使用 Portable PHP password hashing framework .另见这个问题:What type of hash does WordPress use?
  2. 默认情况下,此关联位于 wp_user_level 键下的 wp_usermeta 表中
  3. 不是没有插件(或没有编辑编辑 Wordpress 的代码或数据库)

您可能想查看 bbPress 的代码因为它将共享 Wordpress 的用户数据库。

关于authentication - Wordpress 存储用户身份验证数据的方式背后的细节是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1058961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com