最近明月碰到一个 WordPress 站长求助咨询,说是自己 WordPress 站点的管理员密码被恶意篡改了,对 WordPress 了解的都知道这一般都是恶意代码造成的,问题大多出在使用了所谓的破解版、去授权版的插件或者主题被植入了恶意代码、后门木马。明月的经验是来路不明的插件往往才是罪魁祸首,所以奉劝大家选择和使用插件的时候一定要慎重,今天明月给大家整理汇总分享一下 WordPress 管理员密码重置的方法,一旦碰到这样的问题可以快速及时的收回管理员权限及时的补救。
目前为止 WordPress 管理员密码重置的方法有如下几种方法,大家可以根据自己的实际情况来选择使用:
一、通过管理员账号邮箱找回密码
打开 WordPress 登录页面(如:http://yoursite.com/wordpress/wp-login.php)
点击「忘记密码?」链接
在打开的新页面中输入你的用户名或电子邮件
然后打开邮箱,然后打开邮件中的重置密码连接
输入你想要设置的新密码,点击「保存」按钮即可
这个方法有个前提就是你没有借助代码、插件、主题设置等方式关闭 WordPress 找回密码接口,否则就不会看到“忘记密码”了,也就无法通过邮箱找回密码了。
二、在数据库或者借助 PhpMyAdmin 里设置新密码
1、直接在终端命令行登录网站数据库设置新密码
比如你的网站数据库是:mydb
,并且知道数据库 root 密码,可以直接命令行操作:
mysql -u root -p
#以 root 用户登录 MySQL 数据库,要盲打输入 root 密码。
登录数据库后选择网站数据库:
use mydb;
回车后接着输入下面的 SQL 语句:
UPDATE wp_users SET user_pass = $1$rSziHLDY$399k.JuJsy.oHVp5lquJC. WHERE ID = 1;
上述 SQL 语句是修改 mydb 数据库里 wp_user 表里 ID 为 1 的账号密码为123456的加密密码字符串$1$rSziHLDY$399k.JuJsy.oHVp5lquJC.。
然后退出数据库连接:
quit;
至此,WordPress 管理员账号(ID:1)密码就重置为:123456 了,登录 WordPress 后台及时修改一下管理员账号密码为更复杂的字符组合即可。
2、使用 PhpMyAdmin 操作数据库重置密码
一般我们的服务器上都会默认安装 phpMyAdmin 这个 MySQL/MariaDB 数据库第三方 UI 工具的,我们可以用 root 账号登录来直接修改网站数据库表里的对应记录:
注意是 ID 为 1 的 user_pass 项里填写$1$rSziHLDY$399k.JuJsy.oHVp5lquJC. 只有这个 MD5 加密的字符串才能让密码为123456哦!双击 user_pass 中的密码,然后输入上一步中的 WordPress 加密密码字符串,然后鼠标在空白处点击一下就保存成功了,然后用我们修改后的新密码就可以登录 WordPress 后台了。
三、通过 FTP 修改 Function.Php 重置密码
我们也可以借助 WordPress 主题的 functions.php 文件使用 wp_set_password 函数来重置管理员密码,通过 FTP 知道找到主题目录下的 functions.php 文件,编辑文件,在第一个 <?php 之后添加如下代码:
wp_set_password('123456',1);
这个函数的第一个参数,也就是上面的「123456」是我们需要设置的密码,第二个参数是用户 ID。
把修改后的文件上传回您的网站。
刷新以此网站首页,管理员密码就修改为我们上面设置的 123456 了,登录后台后,删除掉上面添加的代码,否则每次打开一个页面,密码就会重新设置为 123456。切记!切记!
四、通过 WP CLI 命令行修改用户密码
如果您跟明月一样喜欢使用 WP CLI 命令行管理 WordPress 的话(可参考【VPS 运维中利用 WP-CLI 实现命令行操作 WordPress 更新等】一文),重置 WordPress 管理员密码就更简单了,只需要进入 WordPress 站点根目录输入如下命令即可:
wp user list
这个命令的作用是列出所有用户,在返回结果中找到你的用户 ID,然后,更新用户。
wp user update 1 --user_pass=$1$rSziHLDY$399k.JuJsy.oHVp5lquJC.
上面命令中的 1 就是管理用用户 ID,--user_pass= 后面的字符串和我们通过 MySQL 命令行设置的一样,是 WordPress 加密密码字符串。
好了,有关 WordPress 管理员密码重置方法汇总分享就到这里了,理论上来说第二条方法是最简单,比较适合新手站长们选择,第三、第四个方法更加高效安全一些,比较适合专业运维选择,当然能用第一个方法是最简便的了。总之,还是奉劝大家慎用插件和主题,明月碰到的 99%的 WordPress 安全问题几乎都是插件和主题造成的,尤其是破解版之类的,甚至可以毫不夸张的说凡是破解、去授权的几乎都有后门、木马、恶意代码。