WordPress 后台密码忘记后,重置找回密码的 N 种方法

文章目录

忘记密码是每个人都会遇到的事情,长时间不登录 WordPress 站点后,作为管理员的你,是不是也时常会把 WordPress 管理员的密码忘掉呢?没关系,我们可以通过多种方法来找回、重置 WordPress 的用户密码。

一、通过其他管理员修改密码

如果您的 WordPress 站点中有其他管理员,给他打个电话,请他帮你修改一下,这是最简单方便的方法了,如果他不知道怎么修改,按照下面的流程教他操作就可以了。

  • 在 WordPress 后台左侧菜单中,点击「用户->所有用户」
  • 在用户列表中找到你的用户名,点击编辑
  • 在打开的新页面中,向下滚动到「新密码」部分,然后单击「生成密码」按钮。
  • 可以直接使用生成的新密码,也可以输入你常用的密码,如果使用的是自己设置的密码,建议强度达到「强」,以保证 WordPress 安全性。
  • 单击「更新个人资料」按钮。

二、通过电子邮件找回密码

如果你还记得自己的用户名或者电子邮件,那么可以常识使用 WordPress 的「找回密码」功能。

  • 打开 WordPress 登录页面(如:http://yoursite.com/wordpress/wp-login.php)
  • 点击「忘记密码?」链接
  • 在打开的新页面中输入你的用户名或电子邮件
  • 然后打开邮箱,然后打开邮件中的重置密码连接
  • 输入你想要设置的新密码,点击「保存」按钮即可

如果你的服务器不能发送电子邮件,此方法则无法使用。通过其他方法修改后,可以设置 SMTP 邮件服务器以便后期使用。

三、通过 MySQL 命令行设置新密码

如果你可以通过 SSH 登录服务器,我们可以使用 MySQL 命令行为用户设置新密码。

首先,我们需要使用 mysql 命令行客户端登录 MySQL 服务器,使用如下命令登录:

复制代码
mysql -u root -p;

然后选择你的 WordPress 站点对应的数据库,如下(wordpress_com 是数据库名称):

复制代码
use wordpress_com

最后,使用 UPDATE 命令更新密码,user_pass 后面的字符串就是 WordPress 加密后的密码,下面示例中对应的明文密码为「123456」,当然,你可以自己生成 WordPress 加密密码字符串

复制代码
UPDATE wp_users SET user_pass = $1$rSziHLDY$399k.JuJsy.oHVp5lquJC. WHERE user_login = '用户名';

这个user_pass的值还接受32位MD5值,你可以使用在线Md5加密工具加密你的密码,然后填写进去。

四、主题文件functions.php添加代码重置密码

将以下代码放到主题文件functions.php中,访问一下你的WordPress站点就重置成功了哦

复制代码
$user_id = 1;
$password = 'Hello';
wp_set_password( $password, $user_id );

需要注意$user_id需要是管理员账号的ID,一般默认都是1

五、使用官方脚本重置密码

将以下代码保存为emergency.php

复制代码
?php
require './wp-blog-header.php';

function meh() {
	global $wpdb;

	if ( isset( $_POST['update'] ) ) {
		$user_login = ( empty( $_POST['e-name'] ) ? '' : sanitize_user( $_POST['e-name'] ) );
		$user_pass  = ( empty( $_POST[ 'e-pass' ] ) ? '' : $_POST['e-pass'] );
		$answer = ( empty( $user_login ) ? '<div id="message" class="updated fade"><p><strong>用户名不能为空</strong></p></div>' : '' );
		$answer .= ( empty( $user_pass ) ? '<div id="message" class="updated fade"><p><strong>密码不能为空</strong></p></div>' : '' );
		if ( $user_login != $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '1' LIMIT 1" ) ) {
			$answer .="<div id='message' class='updated fade'><p><strong>这不是管理员账号,确保wp_users表里管理账号的ID为1</strong></p></div>";
		}
		if ( empty( $answer ) ) {
			$wpdb->query( "UPDATE $wpdb->users SET user_pass = MD5('$user_pass'), user_activation_key = '' WHERE user_login = '$user_login'" );
			$plaintext_pass = $user_pass;
			$message = "更新后的管理员账号密码如下:\r\n";
			$message  .= sprintf( '用户名: %s', $user_login ) . "\r\n";
			$message .= sprintf( '密码: %s', $plaintext_pass ) . "\r\n";
			@wp_mail( get_option( 'admin_email' ), sprintf( '[%s] 你的WordPress管理员密码重置成功!', get_option( 'blogname' ) ), $message );
			$answer="<div id='message' class='updated fade'><p><strong>你的WordPress管理员密码重置成功!</strong></p><p><strong>密码已通过邮件的方式发送到了你的管理员邮箱</strong></p><p><strong>请现在立即删除这个重置密码脚本!</strong></p></div>";
		}
	}

	return empty( $answer ) ? false : $answer;
}

$answer = meh();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>WordPress 重置密码</title>
	<meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php bloginfo( 'charset' ); ?>" />
	<link rel="stylesheet" href="<?php bloginfo( 'wpurl' ); ?>/wp-admin/wp-admin.css?version=<?php bloginfo( 'version' ); ?>" type="text/css" />
</head>
<body>
	<div class="wrap">
		<form method="post" action="">
			<h2>WordPress 重置密码</h2>
			<?php
			echo $answer;
			?>

			<fieldset class="options">
				<legend>管理账号</legend>
				<label>用户名<br />
					<input type="text" name="e-name" id="e-name" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-name'] ) ); ?>" size="20" tabindex="10" /></label>
				</fieldset>
				<fieldset class="options">
					<legend>密码</legend>
					<label>输入新密码<br />
					<input type="text" name="e-pass" id="e-pass" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-pass'] ) ); ?>" size="25" tabindex="20" /></label>
				</fieldset>

				<p class="submit"><input type="submit" name="update" value="修改密码" /></p>
			</form>
		</div>
	</body>
</html>
<?php exit; ?>

上传emergency.php到网站根目录,访问:

复制代码
http://你的域名/emergency.php

现在,可以在这个重置密码页面修改密码了,修改完成后记得删除这个脚本哦!

相关推荐
Web极客码3 天前
WordPress 站点漏洞利用:数据库恶意注入与多重感染的案例分析
数据库·wordpress·网站安全·数据库注入·wordpress漏洞·wordpress安全插件
wodrpress资源分享14 天前
怎么让二级域名绑定到wordpesss指定的页面
wordpress
wodrpress资源分享17 天前
WordPress用 Options Framework 创建一个自定义相册功能
wordpress
wodrpress资源分享18 天前
经典风格的免费wordpress模板
wordpress
wodrpress资源分享1 个月前
推荐12个wordpress企业网站模板
wordpress
Web极客码1 个月前
在WordPress上添加隐私政策页面
大数据·人工智能·wordpress
wodrpress资源分享1 个月前
wordpress免费主题网站
wordpress
云动雨颤1 个月前
Cloudflare子域名设置指南
网络协议·安全·wordpress
wodrpress资源分享1 个月前
三大中文wordpress原创主题汉主题
wordpress
八戒社1 个月前
如何使用插件和子主题添加WordPress自定义CSS(附:常见错误)
前端·css·tensorflow·wordpress