Hệ thống Đổi mật khẩu quản trị tối cao khi quên mật khẩu đăng nhập admin NukeViet

Mật khẩu là một dãy ký tự được mã hóa khi lưu vào trong cơ sở dữ liệu, nhưng đôi khi chúng ta không thể nhớ nó là gì thì sẽ tìm cách khôi phục lại mật khẩu. Tuy nhiên nếu như bạn sử dụng NukeViet mà không sử dụng tính năng reset mật khẩu về mail thì ở bài này Thịnh chia sẻ với bạn cách lấy lại mật khẩu quản trị tối cao. Tuy nhiên bạn nên tiến hành lưu mật khẩu tối cao vào một nơi nào đó để đề phòng mất mật khẩu mà đỡ công reset lại.
Cũng xin lưu ý với các bạn thêm là trong NukeViet thì từ phiên bản 4.x trở đi mật khẩu sẽ không còn là mã hóa MD5 thông thường vì thế nếu bạn vào phpmyadmin để đổi mật khẩu theo dạng MD5 là hoàn toàn vô nghĩa không thể sử dụng được và chỉ có thể làm theo 1 trong 2 cách sau đây.
Sau đây là 2 cách đổi mật khẩu trong NukeViet

Cách 1:

Cách này là can thiệp code nhưng sau khi thực hiện xong thì bạn cần nhớ xóa đi để tránh bị lợi dụng.
  1. Đầu tiên bạn mở file mainfile.php nằm trong thư mục includes.
  2. Tiếp đến bạn dán đoạn code sau vào cuối cùng của file này.
    Code:
    $username = 'admin';
    $password = $crypt->hash ( trim ( '123456' ) );
    if( $db->exec( "UPDATE " . NV_USERS_GLOBALTABLE . " SET password=" . $db->quote( $password ) . " WHERE md5username='" . nv_md5safe( trim( $username ) ) . "'" ) )
    {
     die( 'Reset password success. Delete this file immediately' );
    }
    else
    {
     die( 'No Reset password' );
    }

    Trong đó
    $username = ‘admin‘; là tài khoản admin
    $password = $crypt->hash ( trim ( ‘123456‘ ) ); là mật khẩu: 123456
  3. Tiếp đến bạn vô site và bạn sẽ nhận được thông báo “Reset password success. Delete this file immediately” tức là bạn đã thay đổi password thành công.
Cách 2:

Cách này an toàn hơn bởi công cụ được viết bởi nhà phát triển Nukeviet. Để sư dụng cách này bạn cần làm theo các bước sau.
  1. Tải về công cụ tại địa chỉ web: https://github.com/nukeviet/set-password/archive/master.zip
  2. Giải nén, upload file có được lên host (ngang hàng với các file index.php, mainfile.php,…)
  3. Sửa nội dung file này. Lưu ý các dòng cần thay đổi.
    $username = ‘admin‘ thay admin thành tài khoản tối cao mà bạn cần thay mật khẩu.
    $newpassword = ‘123456‘; thay 123456 thành mật khẩu của bạn.
    $client_ip = ‘113.190.237.5‘; thay địa chỉ ip thành địa chỉ ip truy cập web của bạn. Để biết ip địa chỉ truy cập internet bạn vô trang http://ipaddress.com/ là bạn sẽ biết được ip mà bạn đang truy cập internet.
    $sitekey = ‘sitekey-sitekey-sitekey-sitekey‘; thì bạn thay bằng sitekey nằm trong file config.php với biến là $global_config[‘sitekey’]
  4. Sau đó bạn lưu file và truy cập vào đường dẫn website dạng như sau: http://domain.com/set-password.php
  5. Sau khi truy cập đường dẫn đó bạn sẽ nhận được thông báo “Reset password success. Delete this file immediately” tức là bạn đã thay mật khẩu thành công và bây giờ thì xóa file set-password.php đó đi.
 
Thành viên mới
ko xài dc !
 
--= Roll With The Wind =--
Quản trị viên
Cho hỏi bạn áp dụng như thế nào, NukeViet nào ?
 
Thành viên mới
Có nhiều cách đơn giản hơn xin chia sẻ các bạn thử xem được không nhé!
Cách 1: Reset mật khẩu theo phpMyAdmin
* Bước 1:
Các bạn vào bảng user: sửa lại địa chỉ email là của bạn sau đó ra lại phần trang chủ chọn đường dẫn quên mật khẩu ( domain/user/lostpass )
* Bước 2: Các bạn gõ email của mình vừa sửa lúc nãy -> hệ thống sẽ gửi 1 email cho bạn resetpass lại

P/s Cũng trong cách này: Bạn có thể đăng ký một tài khoản mới ( đường dẫn: domain/users/register/) sau đó vào lại phpMyAdmin coppy phần pass của user mới paste qua pass của admin là đăng nhập được

Cách 2: Qua trung gian
*Bước 1:
Bạn cài đặt 1 bản nukeViet tạm ở localhost
*Bước 2: Coppy bảng user từ bên website mới trong phpMyadmin mới cài tạm đó qua bên website cần reset mật khẩu
đăng nhập bình thường