我如何防止任何人登录到WordPress故障转移站点?

时间:2019-10-24 作者:Stephen Schrauger

我设置了一个夜间脚本,将我们的站点(和数据库)复制到故障转移服务器。如果主服务器宕机,故障转移服务器将提供服务。

由于故障转移服务器每天晚上都会被覆盖,我不希望我们的100多名用户中的任何一位登录并进行更改,这些更改很快就会被覆盖。我计划在登录页面上发布通知,告诉他们网站已关闭,无法编辑,但用户可能会忽略它。

当站点位于此故障切换服务器上时,我是否可以阻止所有用户登录到该站点,而不破坏数据库中的所有密码?

1 个回复
最合适的回答,由SO网友:Stephen Schrauger 整理而成

一种可靠但简单的方法是在wp配置中对AUTH\\u KEY常量进行置乱。备份服务器上的php文件。

在里面wp-config.php, 更改您的AUTH_KEY 要附加的行rand(). 示例:

define(\'AUTH_KEY\',         \'YOUR-SUPER-SECURE-GENERATED-KEY\' . rand());
在每个页面上,登录密钥都会被更改。这会阻止用户保持登录状态。注意:rand()非常不安全。但我们并没有保存哈希,只是尝试在每个页面加载上创建一个新值,所以这应该足够了。攻击者需要知道您的AUTH\\u密钥(因为我们附加了随机值),此设置的重点是防止好用户登录,而不是加强对坏用户的安全性。

如果用户尝试登录,登录页面将无限期地将其重定向回登录页面,因为cookie是使用旧的AUTH_KEY 每次加载页面时都无效。

每晚复制站点时,复制除wp config之外的所有文件。php。当前设置可能已经需要这样做,因为到故障转移数据库的连接可能具有不同的凭据。

相关推荐

在运行wp_INSERT_USER()时,WP总是说USER_LOGIN已经在系统中了,而实际上它并没有

我需要存档特定用户帐户,并使用原始存档用户名、电子邮件等创建新帐户。我的计划是首先用修改后的user\\u登录名、电子邮件等更新当前帐户。我将旧用户名存档,通过在其上附加“archive”来显示\\u名称。在此之前,我使用了原始的user\\u登录等,并将其存储在单独的变量中,即。$origlogin = $user_info->user_login; 然后$archivelogin = \'archived-\' . $origlogin; 等等。。。首先,我用新的“归档”数据