我们找回drupual的管理员密码,是通过修改mysql数据库表实现的,所以此方法可以称为drupal万能密码找回法。要编辑修改mysql数据库表,那肯定就少不了要操作使用phpmyadmin,如果你还是对phpmyadmin的操作不熟悉,那赶快通读“Mysql数据库管理利器:phpmyadmin详细使用教程”充充电。
同志们,正式修改drupal密码开始啦……
第一步:登陆录到phpmyadmin(通用的mysql数据库管理工具),进入phpmyadmin后,找到与drupal7相关联数据库并在数据库中找到一张名为“users”的表,然后选择浏览。看图(1),3号位上的哪串字符是不是很眼熟呢?对,它就是您的管理员账号。而右边的奇奇怪怪的一串字符其实也就是您管理员的密码,你所看到是经过MD5加密后的字符串。现在不管它,别关闭phpmyadmin备用。
图(1)
第二步:按照正常的思路来说,应该是:“我要如何把密码替换成我想要设置的密码呢?”方法很简单。方法如下:
用文本编辑器editplus(或dw)打开网站首页index.php。然后把下面一段代码放进去如下图(2)
require_once ‘includes/password.inc’;
echo user_hash_password(‘admin123′);
die();
这三段小代码放进去,就OK。
图(2)
第四步:对数据记录进行修改。然后,把我们复制所得的密文复制到字段pass所对应的输入框,OK,执行之后大功告成。如下图(4.1)和图(4.2)。
图(4.1)
图(4.2)
OK,其实,大多数开源系统都可以按照这个思路来解决管理员密码找回,只是对于密文的找回有所不同。仁者见仁,智者见智。最后,当然是把index.php里的那段代码删了或者加注释。
*由于刚开始试验几次密码没有成功,更改了新密码后,Drupal仍提示:
Sorry, there have been more than 5 failed login attempts for thisaccount. It is temporarily blocked. Try again later or request anew password.
这是由于Drupal7默认如果试5次登录均未成功,则6小时之内不能登录。这些信息记录在flood表中。所以解决的办法就是手动清空flood表。