zoukankan      html  css  js  c++  java
  • 如何重置Drupal 7的用户密码

    简介:这是如何重置Drupal 7的用户密码的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=325733' scrolling='no'> 由于好久没有登录本机的Drupal 7网站,发现早已忘记了admin密码。打开phpmyadmin想直接数据库更改密码,却发现Drupal 7已不再采用Drupal 6和5时代的简单的MD5加密了。据某个帖子说是因为现在有一个在线的MD5数据库,可以查到很多MD5码的原文,因此Drupal 7的开发者认为不能再继续采用这种极不安全的方法了,因此Drupal 7采用了新型的Hash加密方法来确保密码安全。

    新型加密码方法是“加了盐(Salt)“的MD5码,简单理解就是并不会直接将password进行MD5加密,而会和用户名或其它随机字符串组合在一起后再MD5加密。具体的技术细节不是本文想讨论的。:-)

    下面说如何更改密码(因为找回是没有可能的了)。

    在Drupal 7的安装目录中的scripts目录下,有一些Drupal 7开发者准备好的PHP脚本,可以执行一些高级操作。其中有一个脚本名为:password-hash.sh,它的功能是传入一个密码(字符串),即返回加密后的密码字符串。在使用前要将php的php.exe路径加入系统的PATH环境变量中,这样在任何目录中均可以直接使用php.exe(我使用的是Windows 7操作系统)。

    假设密码是“ilovedrupal”,那么需使用下面的命令获得新密码:
    php scripts/password-hash.sh ‘ilovedrupal’ > new_pwd.txt


    这样新的密码即存放在new_pwd.txt文件中,打开后,hash后面的字符串即为加密后的密码。如下。

    password: 'ilovedrupal' hash: $S$Cv8Wnz0EiNg3Bi19w27wo.uITAX.dnYxbiMeYcSHIvC8TFLVdKB9


    hash后的字符串可以通过phpmyadmin直接更新进users表中。若使用的是SQLite数据库,则需要使用SQLLite命令行客户端。

    但是,我遇到了新的问题。由于刚开始试验几次密码没有成功,更改了新密码后,Drupal仍提示:

    引用
    Sorry, there have been more than 5 failed login attempts for this account. It is temporarily blocked. Try again later or request a new password.


    这是由于Drupal 7默认如果试5次登录均未成功,则6小时之内不能登录。这些信息记录在flood表中。所以解决的办法就是手动清空flood表。

    清空后使用新密码,登录成功。希望对大家有帮助。

    更多历史内容可访问 方医生博客:www.fang798.com

    “如何重置Drupal 7的用户密码”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/325733.html pageNo:13
  • 相关阅读:
    什么是 bean 的自动装配?
    什么是 Spring 的内部 bean?
    什么是 Spring 的 MVC 框架?
    Spring AOP and AspectJ AOP 有什么区别?
    解释 JDBC 抽象和 DAO 模块?
    volatile 类型变量提供什么保证?
    一个 Spring Bean 定义 包含什么?
    什么是 Spring MVC 框架的控制器?
    使用 Spring 访问 Hibernate 的方法有哪些?
    什么是 Callable 和 Future?
  • 原文地址:https://www.cnblogs.com/ooooo/p/2252347.html
Copyright © 2011-2022 走看看