检索wordpress用户名/密码以通过php注册单独的帐户

时间:2013-09-27 00:52:36

标签: php wordpress registration user-accounts password-encryption

我对wordpress下的密码管理有一个奇怪的问题。

我想做什么:我有一个wordpress网站,用户可以选择在服务器上注册单独的应用程序。每个用户都有自己的用户名和密码,使用wordpress协议保存;该应用程序还需要自己的用户名/密码,并可以通过SOAP设置它们。我想允许每个用户使用他们的wordpress用户名和密码登录应用程序。

我感到困惑的地方:检索用户名是一个简单的数据库查询,因此没有问题。但是wordpress正确地加密了数据库中的密码。我正在寻找一种安全的方法来自动从数据库中检索密码,并在用户注册时将其传递给应用程序以创建帐户。

任何想法都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

您不会检索现有的Wordpress用户密码。这些是散列的,而不是加密的,并且散列(通常)是不可逆的设计。

我建议为Wordpress网站和单独的应用程序(如OAuth)实施通用授权机制。这应该比攻击WordPress密码存储的内在函数更好,因为你获得了更多的灵活性,不需要访问Wordpress的敏感数据,也不会变得依赖于实现(密码存储机制往往会改变)

答案 1 :(得分:0)

通常,密码以散列形式存储在MySQL数据库中。您需要确定您的辅助应用程序是否以与WordPress相同的格式存储它们。从版本3.6开始,它使用基于名为“phpass”的第三方库的内部哈希机制。

也就是说,如果你的辅助应用程序已经使用phpass或者可以修改为使用phpass,你可以简单地在辅助应用程序中创建必需的数据库记录,并将WordPress生成的密码哈希直接复制到它。

如果应用程序不使用phpass生成的哈希,你可以探索编写一个WordPress插件,用其熟悉的密码哈希“复制”另一个应用程序的数据库。请注意不要以任何方式以明文形式记录密码。

如果此辅助应用程序使用不同的密码保护方法,您将不会(通过正常方式)能够(也不应该尝试,为了您自己的保护)对密码进行反向工程,以便重新散列或加密它们。 / p>

考虑到所有这些信息 - 我个人会探索使用外部身份验证模型/凭据存储,如Facebook,Google等 - 最有可能使用OpenID身份验证范例。