Wordpress 存储用户身份验证数据的方式背后有哪些细节?

2024-03-07

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

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

那么,问题是:

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


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

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

另一个尚未解决的部分是 Wordpress 存储其“角色”的位置/方式。在我的安装中,这些角色默认为:管理员、编辑者、作者、贡献者和订阅者。我没有看到这些角色如何与个人用户关联。另外,这些角色可以改变吗?


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

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

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

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


注意:我意识到另一种方法是让非 WordPress 页面检查 WordPress cookie 以确定访问权限。我将沿着这些思路创建另一个问题,但就这个问题而言,重点是非 WordPress 页面如何利用实际的 Wordpress 数据库来做出访问控制决策。


  1. WordPress 使用便携式 PHP 密码哈希框架 http://www.openwall.com/phpass/。另请参阅这个问题:WordPress 使用什么类型的哈希? https://stackoverflow.com/questions/1045988/what-type-of-hash-does-wordpress-use
  2. 默认情况下,该关联位于wp_usermeta表下的wp_user_level key
  3. 不能没有插件(或没有编辑编辑Wordpress的代码或数据库)

您可能想查看以下代码bbPress http://bbpress.org/因为它将共享 Wordpress 的用户数据库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wordpress 存储用户身份验证数据的方式背后有哪些细节? 的相关文章

  • Apache httpd 上的选择性代理端口转发

    我正在尝试将 WordPress 集成到在 Nodejs 服务器上运行的网站中 并启用 Apache Httpd 端口转发 以将所有请求从 80 端口转发到 Nodejs 端口 9000 我已将 WordPress 安装到 Apache h
  • 获取客户在 WooCommerce 中最后订单的产品

    我想获取客户最近一次购买的产品数据或最近一次购买的产品数据 目前我有这个 但数组的结果给了我随机购买的结果 它甚至没有给我已完成购买的数据 它为我提供了暂停购买的详细信息 我在这里需要一些帮助 这是代码 Get the current us
  • Rails 身份验证插件推荐

    我想向我的 Rails 应用程序添加身份验证 我遇到了几个这样做的插件 acts as authenticated restful authentication Authlogic 等 我还没有看到一篇文章描述使用每种方法的差异 优点和缺点
  • Wordpress 上的 Javascript 注入预防

    我的 WordPress 博客得到以下内容恶意的注入脚本 eval function p a c k e d e function c return c
  • 内部分页:避免不工作

    我的 Wordpress 网站有一个打印样式表 我希望图像打印在单个页面上而不是跨页面拆分 在某些情况下 甚至几行文本也会被分割到不同的页面上 我已经包括了img page break avoid 在我的打印样式表中 但没有运气 我找到了一
  • 将旧密码转移到新的哈希算法?

    我正在将站点切换到 Rails 这是一个拥有超过 5 万用户的大型网站 问题是 现有的密码哈希方法是极其虚弱的 我有两个选择 1 切换到新算法 为每个人生成随机密码 然后通过电子邮件将这些密码发送给他们 并要求立即更改 2 实现新算法 但使
  • 如何使用多重身份验证 - firebase?

    我有一个注册屏幕 其中包含 用户名 电子邮件 电话号码 密码 在本例中 我使用电话号码身份验证来验证号码 因此在用户验证他的号码后 我将他的数据保存到 firebase DB 中 所以在那之后 我将下摆导航到登录屏幕 应该包含电子邮件 密码
  • Mongoose 模型 update() 与 save()

    有一个关于问题update vs save https stackoverflow com questions 39010045 mongoose update vs save 但它针对的是一些不同的东西 我猜 纯粹相关mongoose S
  • WooCommerce 订单和电子邮件通知的自定义产品描述

    我需要修改产品描述以显示在所有客户通知上 所以 我尝试了以下代码 add filter woocommerce get item data wc checkout description so 15127954 10 2 function
  • WordPress 简码传递值数组

    我正在创建一些 WordPress 短代码 旨在在页面上提供内部导航 一个页面包含很多内容部分及其自己的菜单 这就是我所拥有的 menu function internal menu atts extract shortcode atts
  • laravel 4 登录验证失败

    在 Laravel4 中 我在路由中编写了以下代码 但它总是将我重定向到登录页面 我用谷歌搜索并在堆栈溢出上找到了它 并尝试了所有解决方案但没有成功 我确信这将是一个愚蠢的错误 但请跟踪它 谢谢 Routes Route post logi
  • WooCommerce 使用 AJAX 设置购物车数量?

    我已经为此绞尽脑汁好几天了 需要一些指导 我正在为 WooCommerce 网站完全从头开始制作自定义主题 现在我正在尝试让购物车功能正常工作 我一直试图使用按钮 来更新购物车中产品的数量 对我来说问题似乎是WC 我在functions p
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为除 admin 之外的所有用户禁用管理栏

    我已经安装了 WordPress 和 BudyPress 我想禁用所有用户顶部显示的管理栏 有人可以告诉我如何正确地做到这一点吗 function is current user administrator global current u
  • 如何正确实施 Unicode 密码?

    添加对 Unicode 密码的支持是开发人员不应忽视的重要功能 尽管如此 在密码中添加对 Unicode 的支持仍然是一项棘手的工作 因为相同的文本可以在 Unicode 中以不同的方式进行编码 并且您不希望因此阻止人们登录 假设您将密码存
  • 如何使用系统凭据自动登录网站?

    我需要为 Intranet 用户开发一个 Web 应用程序 我不希望他们每次访问该网站时都输入登录凭据 它应该从系统用户名和密码自动加载 即 如果他们拥有有效的系统用户名和密码 他们应该能够登录应用程序 我正在使用Java 如何满足这个要求
  • 发送自动电子邮件时安全输入密码

    这很可能是重复的 但我已经非常仔细地研究了类似的问题 This https stackoverflow com questions 28393750 secure email without prompting for password r
  • django 密码重置功能中出现 NoReverseMatch 错误

    我正在尝试在 django 中实现密码重置功能 下面是我的代码 urls py urlpatterns patterns url r signup accounts views signup name signup email url r
  • Spring Security从数据库获取用户ID

    我正在使用 spring security 进行身份验证并成功获得User目的 org springframework security core userdetails User 任何我需要的地方 但我想要UserId还有 春天里没有的U
  • 如何将 WordPress 类别选择限制为只有一个?

    我有一个自定义帖子类型和一个自定义分类设置 非常标准的东西 但是 我想知道如何限制我的客户在每个帖子中选择多个分类类别 我不介意他们能够创建和删除分类类型 但我不希望他们选择多个分类类型 因为这些是复选框 所以它们可以 也许单选按钮可以工作

随机推荐

  • C# 错误 - 并非所有代码路径都返回值

    我知道还有其他类似的帖子 但其他帖子并没有帮助我找到问题的解决方案 我有 1 个表格和 4 个带有方法的类 并且在名为 成本 的类中出现问题 将所有其他 3 个类放入其中 我将在这里发布四个课程 头等舱 Alimenta ao using
  • SQL 查询 - 返回连接表的前两条记录的连接

    我有两张桌子 Patient pk患者ID 名 Surname 患者状态 pkPatientStatusId fk患者 ID 状态码 开始日期 EndDate Patient gt 患者状态是一对多的关系 我想知道是否可以在 SQL 中进行
  • 替换 Swift 2.2 中的 _stdlib_getDemangledTypeName()

    最新版本的 Swift 2 2 删除了 stdlib getDemangledTypeName 我有什么选择来替代它 我目前正在这样的调试消息中使用 let debugStr stdlib getDemangledTypeName self
  • 在 Magento 中操作多个购物车规则

    上次我遇到困难时 我曾询问过如何操纵购物车规则本文 https stackoverflow com questions 18401781 manipulating shopping cart rules 现在 我在购物车规则中添加了更多条件
  • 如何在 postgres 中对结果执行按位运算符?

    如果我有几行 并且我想对结果执行按位或 我该如何在 Postgres 9 x 中执行此操作 例如 我的表包含 Name col1 col2 John 1 2 Walter 1 1 Ron 1 2 我知道想要执行 select 语句 以便从列
  • 如何向非超链接 HTML 标记添加工具提示

    是否有办法向非超链接添加工具提示 IE 我希望当鼠标滑过文本时将鼠标悬停在工具提示上 我希望有一个不基于超链接的工具提示的工作示例 Thanks 如果您所说的工具提示是指title属性 您可以将其应用于许多不同的 HTML 元素 例如spa
  • 任何 Apache HttpClient 4.4 信任自签名证书的示例

    我变了HttpClient版本从旧版本到新版本4 4 并得到了许多已弃用的方法和类 原始代码可以信任自签名证书 我想替换为新方法和类 任何人都可以给我一个如何替换的指南或任何示例代码吗 谢谢 感谢您的回复 我找到了示例代码如下 SSLCon
  • Shinydashboard 标签框高度

    我正在尝试创建一个tabBox横跨整个mainPanel 我能够获得跨越整个屏幕的宽度 但无法获得同样的高度 我不希望使用像素 或其他单位 的绝对值 因为我希望该应用程序能够在不同的屏幕上使用 我玩了这个例子和example http rs
  • 用于图形的 Java 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 用于操作图形 特别是用于社交网络分析 的最佳 Java 库是什么 我见过荣格 但我想知道你是否知道更好的
  • Shadowbox - 打开内联元素

    我正在使用 Shadowbox 和 jQuery 我可以在页面加载时打开它 我想做的是 打开影子框并显示一个表单 用户可以在其中输入他们的电子邮件地址 然后我想通过ajax提交所述表单 我将表单转储到包含在隐藏 div 中的页面上 其 id
  • Apache RewriteRule 将整个 URL 作为参数传递

    目前我的阿帕奇RewriteRule仅将原始 URL 的路径作为查询参数传递给重写的 URL 如何将整个 URL 包括方案和权限等 作为参数发送到重写的 URL I know REQUEST URI 只传递路径 我看不到任何传递整个 URL
  • Asp.Net MVC 4 使用 oAuth2 进行谷歌

    我们正在尝试为现有的 asp net MVC 4 项目启用 使用 google 登录 但现在google已经宣布弃用OpenID 2 0并建议使用OAuth2 我们发现了这个link http www asp net mvc tutoria
  • Aurelia 使可绑定的行为在对象属性上可观察

    在 Aurelia 绑定中 如果在组件中我们对属性使用可观察装饰 并且如果该属性是一个对象 那么我们将订阅该对象的所有属性 例如 import observable from aurelia framework export class C
  • 在 Rust 中,“as”是一个运算符吗?

    Rust 参考目前说了以下内容the as操作员 https doc rust lang org reference html type cast expressions 7 2 12 5 类型转换表达式 类型转换表达式用二元运算符表示as
  • 将开源 CMS 框架集成到现有的 MVC3 / MVC4 站点中 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我的任务是寻找一个可以慢慢集成到一组现有网站中的开源 CMS 通过这种方式 页面可以一页一页地传送到
  • 替换 uiimage 中的特定颜色

    假设我只想更改给定 UIImageView 中的特定颜色 每个像素 如何使用以下代码将所有白色像素更改为 darkGray UIImage changeColorForImage UIImage image toColor UIColor
  • 将 pandas df 写入 csv 时出现 Unicode 编码错误

    我清理了 400 个 Excel 文件 并使用 pandas 将它们读入 python 并将所有原始数据附加到一个大 df 中 然后当我尝试将其导出到 csv 时 df to csv path header True index False
  • 在 Python 2.7 中将 print 语句分配给函数中的变量

    我正在尝试将 print 语句分配给函数中的变量 def namer fn ln Smith return value default value r print Your name is fn ln return r 但是当我运行该模块时
  • 对于 common_type,T declval() 而不是 T && declval()

    使用不是更好吗std declval声明形式 template lt class T gt T declval 1 然后是当前的 template lt class T gt T declval 2 for std common type
  • Wordpress 存储用户身份验证数据的方式背后有哪些细节?

    首先 让我定义最终目标 我想要 Wordpress 版本 2 8 来管理网站的身份验证数据 凭据和访问控制 该网站的大部分内容将使用 WordPress 但某些页面将在 Wordpress 环境之外构建 这些页面应该能够使用Wordpres