09/03/2011

Hướng dẫn reset mật khẩu admin trong Drupal 7

Chào mọi người,

Sau 1 thời gian mày mò vì bị quên mật khẩu. Và thật là khó khăn khi mình cài đặt drupal trên localhost, chức năng đổi mật khẩu qua email không hoạt động. Và nếu bạn làm theo cách thông thường là vào phpmyadmin, tìm đúng user admin và thay bằng mã MD5 của bạn vào như bao opensource khác thì đó là một sai lầm đáng tiếc, vì drupal không chấp nhận như vậy.



Hôm nay mình xin giới thiệu với các bạn cách để lấy lại mật khẩu như sau:

Bước 1: Tạo file mang tên pass.php và đặt trong thư mục root nơi cài drupal.
Bước 2: Mở file pass.php và điền các nội dung sau vào:
// $Id: index.php,v 1.99 2009/10/15 14:07:25 dries Exp $

/**
* @file
* The PHP page that serves all page requests on a Drupal installation.
*
* The routines here dispatch control to the appropriate handler, which then
* prints the appropriate page.
*
* All Drupal code is released under the GNU General Public License.
* See COPYRIGHT.txt and LICENSE.txt.
*/

/**
* Root directory of Drupal installation.
*/
define('DRUPAL_ROOT', getcwd());

require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

require_once 'includes/password.inc';
echo user_hash_password('mynewpassword');
die();

menu_execute_active_handler();


Bước 3: Hãy điền mật khẩu mới của bạn vào dòng chữ  mynewpassword và lưu file pass.php lại.
Bước 4: Mở trình duyệt và chạy file pass.php ( ví dụ: locahost/drupal/pass.php) và copy mã hash xuất hiện trên màn hình.
Bước 5: Truy cập vào phpmyadmin, tìm đúng user admin, sau đó cập nhật lại mật khẩu bằng cách past mã hash vào. Hoặc bạn có thể dùng câu lệnh SQL sau: UPDATE users SET pass = '[hash]' WHERE uid = [N];


Với cách này bạn hoàn toàn có thể sử dụng trên host, nhưng lưu ý là phải xóa file pass.php sau khi thực hiện xong.

Chúc các bạn thành công.

Tin học & Ứng dụng 

2 nhận xét:

  1. ừm, hay quá. mình cũng bị trường hợp y chang bác vì lần đầu login quên tắt cái yêu cầu kích hoạt bằng mail

    Trả lờiXóa