【前面提到我的博客被黑了嘛,所以肯定要重新设置WordPress的管理员密码和邮箱了,研究之后,记录一下吧。】
重置WordPress管理员密码通常可以用如下两种方法:
1.通过Email重置密码:
如果您有权限修改数据库的话,那么就很简单了!首先在您的Cpanel后台登陆phpMy 管理,找到wp_users这个表,再找到您的管理员用户名,看到了什么,您的用户名,邮箱,密码…先不要急,直接修改密码是无效的,没看见那都是加密(是wordpress的hash或者MD5值)的吗! 这里主要是修改您的邮箱来接受密码重置的链接!邮箱修改成您正常的邮箱后,我们就可以在登陆页面通过“忘记密码”功能来重置密码了!
通过此方法重置,您必须要有数据库的管理权限以及您的主机是支持邮件发送的! (如果主机不支持发邮件功能呢? 可以用如下方法)
2.通过如下的程序来修改密码:
本来我在网上看到一个用passwrod的MD5值插入到wp_users表中来实现修改密码,但是我看了下最新的wordpress3.1,其实数据库中不是存放的MD5值了,尽管用MD5也是可以让你正常登陆的。后来我看了很久关于WP中对登录、密码重置的Code,了解了其中基本原理和方法,写了一个简单程序来做。您只需要将,如下代码保存为pass_reset.php放到您的主机空间的html所在目录下。然后通过浏览器访问 http://$yourblog.com/pass_reset.php,就可以看到让您输入Wordpress中的管理员用户名和想要修改为的密码,填好后,点击提交即可。然后你就可以用刚才设置好的密码正常登录了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?php //password reset program. by Jay include("wp-config.php"); include("wp-blog-header.php"); if (empty($_POST['emergency_pass'])) { ?> <form method="post"> your admin username:<input name="admin_name" type="text"/> <br /> set admin password:  <input name="emergency_pass" type="password" /> <br/> <input type="submit" /> </form> <?php } else { $login = $_POST['admin_name']; $pass = $_POST['emergency_pass']; echo "your admin name is:".$login."<br />"; echo "your password is:  ".$pass."<br />"; global $wpdb; $user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_login = %s", $login)); if (empty($user)) { echo "cannot find the given admin name."; exit(); } echo "your ID is:".$user->ID; wp_set_password($pass, $user->ID); wp_password_change_notification($user); //if you want to store your password in type of MD5, you may use the following commented two lines // $sql = "UPDATE ".$wpdb->users." SET user_pass = '".md5($pass)."' WHERE user_login = '".$login."'"; // $link = $wpdb->query($sql); exit(); } ?> |
多谢,正好在找用到了