WordPress忘记密码

0
1145

标题暂且就这样写吧,之前给SomeBody修改了一个主题,昨天晚上忽然说密码错误,老登不进去,另外他说他一直没有改过密码。我想肯定是被别人修改了密码,如果是这样的话,他的FTP密码肯定别人知道了,或者就是sql注入,可是他的博客感觉被注入的可能性比较小,要么就是新手练手。总之找了一大堆原因之后,我想他的WordPress后台密码,FTP密码我也知道啊。

之前在修改主题的时候他跟我说过,难道我的电脑上有木马?算了先把他的密码改过来再说,他给了我phpmyadmin的用户名和密码,等进去之后,发现只有10张表,wp_user不见了。这个就是问题所在了,所以给他重新建了一张wp_user之后,一切恢复正常了。
本文转自https://onedou.com[OneDou Blog] 声明: 本站遵循 署名-非商业性使用-相同方式共享 3.0共享协议. 转载请注明https://onedou.com/[OneDou Blog]
不过,我觉得WordPress竟然缺了一张表之后没有任何错误提示原因,唯一的错误就是密码错误,哪来的密码啊,wp_user这张表都不存在了。所以感觉这个也是一个小BUG吧。

我想如果是新手,通过phpmyadmin修改密码比较困难,于是写了几句,就能简单的修改密码了。前提是记得FTP密码,数据库用户名和密码。来看代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php 
 require_once('wp-config.php');
$lnk=mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)
 or die ('Not connected : ' . mysql_error());
 $old_name = "admin"; //填写以前的用户名
 $new_name = "onedou"; //填写新的用户名
 $pass ="123456";  //填写新的密码
 $new_pass = md5("$pass");
mysql_select_db(DB_NAME, $lnk) or die ('Can\'t use news : ' . mysql_error());
mysql_query("UPDATE wp_users SET user_login = '$new_name' WHERE user_login = '$old_name'");
mysql_query("UPDATE wp_users SET user_pass = '$new_pass' WHERE user_login = '$new_name'");
echo "^_^ update success!<br /><br />";
echo "Your login name:" .$new_name."<br />";
echo "Your password:" .$pass."<br /><br />";
echo  "Please delete this file soon!<br />";
echo " by onedou 2011,12,May";
 ?>

来张图:

将以上的PHP代码存为password.php,然后通过FTP上传到WordPress的根目录,然后访问https://onedou.com/password.php就自动修改密码了。如果是数据库用户名和密码不对,就会提示错误的,最后记得运行完了以后别忘了把这个删了。要不然,你也知道!

发表回复