使用纯 php 更新 wordpress,但需要更改用户密码

updating wordpress with pure php but user password need to be unchanged

我想将我的小网站更新为纯PHP。但是,用户将尝试使用旧密码登录。

但是,我不能再使用wordpress 认证功能了。怎么样,我才能做到?

如何验证我的用户?我想,我需要弄清楚 wordpress 的散列和加盐过程。 我在哪里可以找到它?

WordPress 的默认哈希机制是 MD5。并且用户数据存储在tablewp_users中db.

因此,您首先要考虑的是,您如何存储当前网站(非 WordPress)的密码。如您所知,PHP 具有内置的 md5() 函数。

如果您以纯文本格式存储它(根本不推荐),那么您可以简单地遍历当前数据库中的这些密码并将它们插入到 wp_users table (在您的新 WordPress 站点中),将密码传递给 md5() 函数。

如果您以加密形式存储它,即。稍后可以解密(不推荐),然后您也可以遍历密码,解密,然后像上面的方式一样插入 wp_users table。

但是如果您使用的是单向加密(散列),并且是 MD5,那么您可以立即将存储在当前数据库中的散列密码插入 WordPress 数据库,它应该可以工作!

但如果不是MD5,那将是一项艰巨的任务。在这种情况下,我建议在 WordPress 数据库中插入用户数据,在 user_pass 字段中插入临时随机密码。然后向用户发送一封包含 link 的电子邮件,以编程方式重置密码。 WordPress 有一个名为 get_password_reset_key() and you can use something like this to send it: https://wordpress.stackexchange.com/a/275269/60666

的内置函数