用WordPress安装完网站后,时间久了难免会碰到密码忘记的情况。管理员账号没有办法通过忘记密码找回功能,所以只能使用另外的方式,本文就介绍三种简单找回WordPress管理员密码的办法。
FTP修改functions.php找回
如果你记得你网站的FTP信息,那么你可以使用FTP软件来修改主题文件夹里面的functions.php文件实现密码修改。
通过functions.php文件修改密码的具体步骤如下:
- 使用FTP软件登录到服务器。
- 进入你网站主题文件夹里面。*
- 下载functions.php文件用文本编辑器打开。*
- 在
<?php
后面添加上wp_set_password( 'password', 1 );
保存。* - 上传修改好的functions.php文件。
- 访问网站,密码为上面添加的代码里面的password
- 删除functions.php文件里面添加的代码。
奶爸提示:
主题文件夹位置在 /wp-content/themes/
文件夹下面的文件夹,不知道是哪个主题,可以通过网站源代码查看。
Windows自带的记事本打开可能会乱码,推荐使用Notepad++等专业文本编辑软件打开。
password是你要修改的密码,1是你管理员帐号的ID,如果你网站有多个管理员用户,那么你需要去数据库里面查看对应的ID值。
使用重置脚本找回
如果你可以上传文件到服务器,那么可以使用下面的方法来用脚本重置管理员密码。具体步骤如下:
- 使用FTP软件连接到服务器。
- 切换到你网站根目录(
wp-config.php
所在文件夹) - 上传本文提供的
emergency.php
文件到网站根目录。 - 从浏览器访问
你网址/emergency.php
- 根据提示输入管理员用户名和新密码,更新。
- 密码修改成功,删除
emergency.php
文件。
重置脚本内容如下:
<?php /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 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>The user name field is empty.</strong></p></div>' : '' ); $answer .= ( empty( $user_pass ) ? '<div id="message" class="updated fade"><p><strong>The password field is empty.</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>那不是正确的管理员用户名。</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 = __( 'Someone, hopefully you, has reset the Administrator password for your WordPress blog. Details follow:' ). "\r\n"; $message .= sprintf( __( 'Username: %s' ), $user_login ) . "\r\n"; $message .= sprintf( __( 'Password: %s' ), $plaintext_pass ) . "\r\n"; @wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Your WordPress administrator password has been changed!' ), get_option( 'blogname' ) ), $message ); $answer="<div id='message' class='updated fade'><p><strong>你的密码已成功更改</strong></p><p><strong>包含此信息的电子邮件已发送给WordPress博客管理员</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> <p><strong>使用此脚本的风险自负。所有代码均按“原样”提供,没有任何明示或暗示的准确性,完整性的保证。此外,对于使用此脚本可能造成的任何损失,无论是直接的,间接的,特殊的,偶然的或后果性的,我概不负责。</strong></p> <p>此脚本旨在由无法访问数据库的WordPress管理员用作最后手段。使用此脚本要求您知道WordPress安装的管理员用户名。</p> <?php echo $answer; ?> <p class="submit"><input type="submit" name="update" value="Update Options" /></p> <fieldset class="options"> <legend>WordPress Administrator</legend> <label><?php _e( '输入管理员用户名:' ) ?><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>Password</legend> <label><?php _e( '输入新密码:' ) ?><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="Update Options" /></p> </form> </div> </body> </html> <?php exit; ?>
数据库直接修改密码
如果你记得数据库的密码,那么直接通过phpmyadmin登录到数据库里面修改就可以了。具体方法步骤如下:
- 登录phpmyadmin(或者其他数据库管理软件)
- 进入你网站数据库的
wp_users
表。 - 找到你需要修改的帐号那一行内容。
- 双击
user_pass
那一行的值,把内容替换为06a5ac9504e3a3c83574cf7a6479be2d
- 再次登录网站,密码修改为了
hao123
查找管理员ID和用户名
如果你访问数据库后不知道你管理员ID和用户名是多少,那么可以在数据库的wp_usermeta
表中找
meta_key
值为wp_user_level
,meta_value
值是10 对应的user_id
是哪个数字,这个数字就是管理员的ID。
看有几个(多个管理员)或者甚至没有(以被删除管理员)。
忘记数据库和FTP帐号密码?
- 如果你忘记了数据库密码,用ftp访问你网站根目录,打开wp-config.php,里面就有你数据库信息。
- 如果你忘了FTP密码,还可以通过SSH访问服务器查看这个文件。
- 如果你忘了服务器密码,可以在服务器管理面板重置密码。
- 如果你忘了服务器管理界面的密码,你可以在购买服务器的网站上重置密码。
- 如果你忘了购买服务器的网址和密码,你可以考虑下放弃做网站了。