如果您曾经查看过WordPress网站的核心配置文件( wp-config.php
),那么您可能会注意到一个部分,该部分定义了八个与安全密钥和盐有关的WordPress常量:
-
AUTH_KEY
-
SECURE_AUTH_KEY
-
LOGGED_IN_KEY
-
NONCE_KEY
-
AUTH_SALT
-
SECURE_AUTH_SALT
-
LOGGED_IN_SALT
-
NONCE_SALT
注意: 默认情况下, wp-config.php
位于WordPress安装的根文件夹中。
这些常量包含安全密钥和盐,WordPress内部使用这些安全密钥和盐来添加额外的身份验证层并增强安全性。
WordPress使用cookie (而不是PHP会话 )来跟踪当前登录的人员。此信息存储在浏览器的cookie中。
为了确保身份验证详细信息尽可能安全,使用了唯一的密钥和盐来提高cookie加密的级别。 建议将它们设置为由随机字母数字和符号字符组成的长字符串(通常为64个字符长)。
WordPress 2.6中添加了AUTH_KEY,
SECURE_AUTH_KEY
和LOGGED_IN_KEY
安全密钥常量,它取代了WordPress 2.5中首次引入的一个多合一密钥。
不久之后,在WordPress 2.7中添加了NONCE_KEY
。 相应的盐AUTH_SALT
, SECURE_AUTH_SALT
, LOGGED_IN_SALT
和NONCE_SALT
都与每个安全密钥一起添加,但是直到WordPress 3.0才将它们添加到wp-config.php
。
在WordPress 3.0之前,您可以选择将自己的盐常数定义添加到wp-config.php
,否则它们将由WordPress生成并存储在数据库中。
虽然需要四个安全密钥常数,但是如果您从WordPress配置文件中删除了盐常数,则将其保留为默认值,或者发现任何盐都与另一个盐重复,那么WordPress将从数据库中检索盐。
对于新的WordPress网站,将生成盐并将其存储在数据库中。
最初设置您的安全密钥和盐
在安装过程中,WordPress不会在wp-config.php
生成唯一的安全密钥/盐。 而是,为每个常数输入相同的默认消息。
![默认WordPress盐](https://i-blog.csdnimg.cn/blog_migrate/0744aed9fb4649c9dea41ebc55fdc131.png)
如果您只是在远程服务器上安装了WordPress,则建议您将每个安全密钥/盐常数的默认消息更改为适当的唯一值。
有时,如果您通过自定义脚本安装WordPress,则主机将为您执行此操作。 即便如此,为省心,您可能仍想在安装完成后立即更新安全密钥/盐。
为什么要更新密钥和盐?
即使最初设置了安全密钥和盐之后,也要经常更新它们。 通常,您可以采取任何措施使您的网站更安全。
即使您的密码(以及安全密钥/盐)被破解的可能性很小,但定期进行更新还是有道理的,因为这样可以防止意外情况(例如,您的站点备份被不需要的第三方拦截)。
如何更新安全密钥和盐
那么,您实际上如何更新安全密钥和盐? 让我们看一些不同的方法。
手动更新按键和盐
您可以为每个常量手动创建新值,但这非常繁琐,尤其是如果您有多个要更新的WordPress网站! 同样,每个键/盐可能都不如它应该的安全。
幸运的是,WordPress的好伙伴通过提供一个API为您自动生成键/盐值,使此过程非常简单。 您所要做的就是访问一个秘密URL:
https://api.wordpress.org/secret-key/1.1/salt /
页面加载后,将为您显示每个常量的唯一字符串,如下所示:
![WordPress盐生成器](https://i-blog.csdnimg.cn/blog_migrate/8554a951645cf4f66be3295060c233a1.png)
如您所见,每个生成的WordPress密钥/盐都是64个字符的随机序列。 尝试刷新页面几次,以使您自己确信URL每次都会生成完全随机的键/盐。
如果您在本地开发WordPress网站,则只需将生成的密钥/盐直接复制并粘贴到wp-config.php
以替换现有条目。
提示:我建议始终使用上面的URL,该URL利用安全的HTTP协议。
这将有效消除任何人在将生成的键/盐返回给您之前在浏览器中显示之前被其拦截的机会。
如果您的站点托管在远程服务器上,则要更新密钥/盐,您将需要通过服务器控制面板或允许编辑远程文件的FTP客户端(如FTP服务器)访问和编辑wp-config.php
。 FileZilla (免费)。
使用插件更新密钥和盐
如果手动编辑远程服务器文件的想法使您大吃一惊,那么您可能需要考虑使用插件。 这是一种非常简单的方法,只需单击一个按钮即可更新安全密钥/盐。
有各种插件可用于生成和更新您的安全密钥和盐。 相对较新的名为Salt Shaker的插件,于2016年10月发布,是一种轻量级的解决方案,具有额外的好处,您可以安排自动更新密钥/盐,只要您愿意就可以。 最重要的是,它是免费的。 让我们看看如何使用它。
从WordPress资料库下载Salt Shaker,或以通常的方式直接从WordPress管理员安装。 转到“ 插件”>“添加新项”,然后开始在“ 搜索插件...”文本框中键入Salt Shaker 。 当您看到插件出现在列表中时,请点击立即安装 。
![盐瓶插件安装](https://i-blog.csdnimg.cn/blog_migrate/a263c33f85f337c1d8e4aafff08fcfc6.png)
安装插件后,将出现一个激活按钮。 单击此完成设置。
现在插件已激活,我们可以对其进行测试。 要访问插件设置,请转至WordPress管理员中的“ 工具”>“盐瓶 ”。
![盐瓶设置](https://i-blog.csdnimg.cn/blog_migrate/e4164169e571d317462c18b4dcd71f14.png)
在这里,我们可以通过单击鼠标立即更新安全密钥/盐。 单击立即更改按钮后,右侧会出现一个旋转的图标,指示插件正在更新wp-config.php
。 图标消失后,您就知道安全密钥/盐已经更新。
总体而言,该插件可以很好地运行,并且可以为您节省大量时间,尤其是当您有多个WordPress网站时。 我也许希望看到更多用于选择时间间隔的选项,例如三个月和六个月,以增加插件的灵活性。
另外,一条明确说明密钥/盐何时已更新的消息将是有用的-另一个插件选项在密钥/盐已更新后自动重定向到登录页面也将是有用的。
另外,我们可以选中“ 更改WP键和盐”框,然后选择wp-config.php
常量何时更新。 这是一个非常不错的功能,基本上可以让您忘记必须更新安全密钥/盐。 只需让插件为您完成所有工作即可!
但是请记住,无论何时更新安全密钥/盐,都将要求您重新登录。 这是因为与登录有关的cookie无效,因此用户需要重新登录以更新cookie。
因此,在更改安全密钥/盐之前,最好先准备好登录信息,以免被意外锁定在站点之外。
使用自动化脚本更新键和盐
如果您不想使用插件,并且有很多远程WordPress网站,则可以考虑使用脚本直接更新安全密钥/盐。
缺点是您需要精通脚本。 但是,有几种现成的解决方案可用,因此您不必自己编写代码。
这样的脚本(称为Ah- Awais的WP-Salts-Update-CLI)可更新本地计算机或远程服务器上的安全密钥/盐。
![使用脚本更新盐](https://i-blog.csdnimg.cn/blog_migrate/89d2ec5010aeee2b5f969957ef200408.png)
要在计算机上安装此脚本(仅适用于macOS),请打开终端窗口并输入以下内容:
sudo wget -qO wpsucli
https://git.io/vykgu
&& sudo chmod +x ./wpsucli && sudo install ./wpsucli /usr/local/bin/wpsucli
这将使可执行脚本通过wpsucli
命令全局可用。 您可以在本地计算机上运行它来主动搜索WordPress配置文件的所有实例,并直接从WordPress秘密密钥API URL中用新值替换安全密钥/盐。
在远程服务器上运行脚本时,建议从根文件夹cd /
,然后运行wpsucli
。 有关脚本的更多详细信息,请参见主要信息页面 。
结论
在本教程中,我们介绍了WordPress安全密钥/盐是什么以及为什么定期更新它们很重要。 我们还研究了各种更新方式,从手动复制/粘贴(如果您可以直接访问wp-config.php
)到使用插件完全自动化这一过程。 如果您熟悉命令行,则还可以使用自定义脚本相当轻松地更新本地/远程站点。
缺点是您仍然必须手动运行容易被忘记的脚本,因此不必将其计划到工作流程中,使用插件来自动化该过程可能是最好的方法。
无论选择哪种方法,重要的是要记住要在WordPress网站上增加另一层安全性,而为达到此目的而竭尽所能的任何事情都是一件好事!
并且,如果您正在寻找其他实用程序来帮助您构建不断增长的WordPress工具集或用于研究代码并变得更加精通WordPress的代码,请不要忘记查看Envato Market中提供的功能 。
翻译自: https://code.tutsplus.com/tutorials/how-to-auto-update-wordpress-salts--cms-30014