智宇腾文化blog
一个追求极致的精致blog

WordPress找回管理员密码方法汇总

好记性不如烂笔头,如果你没有把密码写在纸上,忘记了后台密码也不用担心,WordPress找回后台管理员密码的方法是非常多的。

WordPress原生找回密码方法

在WordPress登录界面,有一个找回密码的链接,如下图所示,点击忘记密码,填写用户名或电子邮件,就会发送找回密码的链接到你的邮箱。

WordPress找回管理员密码方法汇总插图

这个“忘记密码”链接是这个样子的:

http://你的域名/wp-login.php?action=lostpassword

修改数据库字段找回

如果你的WordPress站点不能发信,那就无法收到找回密码的邮件,此时可以通过修改数据库字段来找回。

登录phpMyAdmin面板,找到wp_users表,如下图所示可以看到管理员账号、密码(已加密)、邮箱,点击编辑,user_pass字段的值设置为:$P$BbUP7LUuwxYdKIeNhiIGYkKVJd6H0E0 然后就可以使用密码:123456登录了。

WordPress找回管理员密码方法汇总插图1

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

使用官方脚本重置密码

将以下代码保存为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 = "更新后的管理员账号密码如下:rn";  			$message  .= sprintf( '用户名: %s', $user_login ) . "rn";  			$message .= sprintf( '密码: %s', $plaintext_pass ) . "rn";  			@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

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

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

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

$user_id = 1;  $password = 'Hello';  wp_set_password( $password, $user_id );

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

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

分享到: 生成海报
智宇腾文化blog

热门文章

    评论 抢沙发

    评论前必须登录!

    立即登录   注册

    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活