迁移到另一台服务器时保留密码哈希

时间:2020-04-04 作者:Works for a Living

我们有数百个客户端(每个客户端都是一个站点),其中约有15000个用户。我们正在从Centos/Apache PHP 7.0.1上的Plesk迁移到Ubuntu/Nginx PHP 7.4.4上的AWS。

我们正在使用远程sqldumps迁移到一个文件,然后从新服务器的命令行导入到新服务器上的数据库中。

所有现场均为WP 5.4。

旧的数据库服务器是MySQL 5.5.61。新版本为10.4.12-MariaDB。

两台服务器上的数据库进行了相同的整理,并具有相同的字符集(utf8mb4\\U unicode\\U ci,utf8mb4)。

出于测试目的,我们目前正在将一些演示站点迁移到另一个url(我们不会将我们的域移植到新服务器,直到我们消除了迁移中的错误并准备好移动)。所以我们迁移它们,然后更新数据库中的URL。

除了密码哈希在新服务器上不起作用外,其他一切都正常。问题不是我不能进去(我可以做任何事)。我们希望避免15000名用户仅仅因为我们决定更改服务器就必须重置密码。

正在寻找实现这一目标的方法。我们正在通过迁移到不同的域来测试这个问题吗?域是否以某种方式在哈希中发挥了作用?环境变量在哈希中起作用吗?

所有的盐和东西都是一样的,因为我们只是照原样复制了文件。

顺便说一下,每个站点都位于同一域的子域上。因此,我们的测试迁移涉及将演示从demo.example.comdemo.example2.com.

1 个回复
SO网友:Tom J Nowell

不,在vanilla WP中,站点URL和其他选项不是生成密码的因素。

具体而言,这是执行哈希生成的文件:

https://github.com/WordPress/WordPress/blob/master/wp-includes/class-phpass.php

站点URL影响密码散列的唯一方式是,您是否使用了过滤器来实现。也许一个插件可以做到这一点,但这将是非常罕见的,而且很可能是一个声称可以提高安全性的插件。

相关推荐

Wp 5升级和更改表wp_post...POST_Password

我为一个拥有30000多个帖子的站点管理服务器。我尝试将站点从WP 4.9.9更新为当前的WP 5.0.2。更新似乎工作正常,但后端变得非常慢,而前端保持正常工作。更新后mytop 显示多个ALTER TABLE wp_posts ... post_password ... 正在运行的查询,以及在顶部为ALTER TABLE执行的复制操作,该操作占用了大部分数据库时间。我试着让它运行一整天,但它没有完成,而且我负担不起后端更长的停机时间,所以我已经从备份中恢复了整个安装,现在我又回到了WP 4.9.9。我