欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

忘记drupal7的管理员密码的恢复方法

忘记drupal7的管理员密码的恢复方法

         由于好长时间没有登录drupal7的管理界面,所以忘记了drupal7的管理员密码,在网上查了很多找回drupal7的密码的方法,一开始直接将drupal7安装后所形成users表中的pass字段SQL语句为UPDATE users SET pass=md5(‘你打算设置的密码')  WHERE uid=1(uid=1的为drupal7设置的默认的管理员的id,uid=0是匿名用户的id)但是后来发现没有效果,结果发现在drupal5和drupal6中采用的md5的加密方式,这种修改方式是有效的。而在drupal7中,虽然MD5算法是不可逆的,但是可以通过数据库进行比对,所以开发人员认为这种算法十分的不安全,改用了新型的Hash加密算法,这种算法将密码、用户名和一些随机码进行了合并后,在进行MD5加密,所以我们在修改密码的时候只要将已经加密的字符更新到数据库里就可以了。所以下面我们只要找到这个加密算法就可以,drupal7中自带了这个算法的函数,这个函数网上也有很多人介绍,但是自己试了一下发现并不好用,后来发现是网上的文档并不全面。下面列出详细的步骤:

        首先通过phpmyadmin进入drupal7的数据库,点开users这个表,如下图所示:


         要修改的地方就是右下方红圈的地方,现在采用了Hash加密算法,下面找到这个函数对字符串进行加密然后对这个位置进行修改就行。

         首先要找到drupal7默认的进入页面index.php,修改成如下形式,注意,加入的三句

         require_once 'includes/password.inc';

         echo user_hash_password('加密字符')[括号内就是要进行加密的字符]

         die();

        必须放在drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL)之后,之前很多次不成功就是因为没有将这三句话放在这句话之后,后来查了这句话的意思就是获得函数的访问权限,如果放在前面很多函数式找不到的。这样再登陆http://localhost/drupal目录/index.php,就会显示加密后的字符,如图所示:

         

        将这段密码Upadte或者通过phpmyadmin编辑users的pass字段。这样就变成你所要修改的密码了!


来自 https://blog.csdn.net/wyj880220/article/details/9197417

普通分类: