Làm thế nào (lại) đặt mật khẩu cho quản trị viên sau khi di chuyển từ 1.5?


7

Tôi đã di chuyển một trang web Joomla 1.5 cũ sang một phiên bản Joomla 3.3 mới sáng bóng bằng công cụ SP UPGRADE .

Bây giờ tôi dường như không thể đăng nhập và tôi sợ nó bởi vì tất cả mật khẩu người dùng trong DB trông giống như 'MD5': 'Salt', đây là cách cũ để tạo mật khẩu.

Tôi hiểu mã mới hơn sử dụng mật khẩu dựa trên. Tất cả các phương pháp tôi thấy được mô tả về việc dán theo mật khẩu 'bí mật' kiểu cũ đều không hoạt động.

Làm cách nào để đặt lại mật khẩu trong Joomla 3.3?


1
docs.j Joomla.org/How_do_you_recover_or_reset_your_admin_password%3F . Cá nhân tôi thích phương pháp thứ hai.
Farahmand

Không, các hướng dẫn này dành cho các phiên bản cũ hơn của j Joomla và không hoạt động cho j Joomla 3.x.
tgunr

1
Tôi chỉ thử nghiệm nó trong Joomla 3.3.3 và nó hoạt động như một bùa mê.
Farahmand

Câu trả lời:


9

Đây là một cách giải quyết để tạm thời đặt lại mật khẩu cho tài khoản của bạn.

  1. Đăng nhập vào bảng điều khiển lưu trữ của bạn và sử dụng công cụ cơ sở dữ liệu có sẵn (có thể là PHPmyAdmin).

  2. Tải cơ sở dữ liệu thích hợp và sau đó chuyển đến bảng jos_users. (Tiền tố cơ sở dữ liệu có thể khác nhau cho trường hợp của bạn).

  3. Chuyển đến chế độ xem duyệt của PHPmyAdmin, để bạn có được chế độ xem hồ sơ người dùng.
  4. Xác định vị trí tài khoản của bạn và nhấp để chỉnh sửa hoặc nhấp trực tiếp vào trường 'mật khẩu' (Thông thường là PHPmyAdmin, sẽ giúp trường có thể chỉnh sửa bằng cách này).
  5. Trong trường mật khẩu, dán giá trị bên dưới:

$ 2y $ 10 $ JszAMznv7U2Q4VETQdw7n.CX / HPekafC8sxa9.n0V2gp / t / .xvHYi

  1. Không áp dụng bất kỳ chức năng đặc biệt nào để lưu trường và nó sẽ đặt mật khẩu tài khoản của bạn cho quản trị viên. Lưu hồ sơ.

Bây giờ bạn có thể đăng nhập bằng tài khoản của mình, sử dụng làm mật khẩu: admin.

Sau khi đăng nhập, hãy chắc chắn rằng bạn đã đặt mật khẩu mong muốn.


Vâng, điều đó đã làm việc, nhưng làm thế nào bạn lấy được giá trị mật khẩu?
tgunr

Tôi chỉ đơn giản là lấy nó từ một cơ sở dữ liệu đã được thiết lập khác, từ một người dùng có quản trị viên làm mật khẩu.
FFrewin

7

Ngoài câu trả lời hay của FFrewin, đây là một vài cách khác để đặt lại mật khẩu quản trị viên.

Lưu ý
Hãy nhớ rằng hầu hết các phương thức này sẽ đặt mật khẩu của bạn thành một cái gì đó đơn giản như admin. Điều rất quan trọng là thiết lập một mật khẩu mạnh hơn sau đó. Nếu có lý do để tin rằng trang web đã bị hack, bạn có thể muốn xóa những người dùng khác có quyền truy cập quản trị viên sau khi bạn đã khôi phục quyền truy cập vào bản cài đặt Joomla của mình.
Các phương pháp này được lấy một phần từ Joomla Docs .

Thay thế 1: tệp cấu hình.php

Nếu bạn có thể đăng nhập với một người dùng khác (không có quyền siêu quản trị viên), có thể thêm dòng này vào cuối configuration.phptệp trong thư mục gốc Joomla của bạn:

public $root_user='myname';

Thay thế mynamebằng tên người dùng của bất kỳ người dùng nào bạn biết mật khẩu của (với quyền Tác giả hoặc cao hơn). Người dùng này giờ đây sẽ có thể đăng nhập với tư cách siêu quản trị viên và bạn có thể chỉnh sửa / thêm người dùng trong trình quản lý người dùng. Hãy nhớ xóa dòng bổ sung khỏi configuration.phptệp của bạn khi bạn hoàn thành, bằng cách để Joomla cố gắng thực hiện tự động khi được nhắc hoặc bằng cách chỉnh sửa tệp theo cách thủ công.

Phương án 2: Thêm người dùng Super-admin mới

Một người dùng siêu quản trị viên mới có thể được tạo bằng phương pháp này:

  1. Mở phpMyAdmin (hoặc tương tự, tùy thuộc vào lưu trữ của bạn) và chọn cơ sở dữ liệu cho Joomla! Địa điểm.
  2. Nhấn nút "SQL" trên thanh công cụ để chạy truy vấn SQL trên cơ sở dữ liệu đã chọn. Điều này sẽ hiển thị một trường có tên "Chạy truy vấn / truy vấn SQL trên cơ sở dữ liệu". Xóa bất kỳ văn bản nào trong trường này và sao chép và dán truy vấn sau bên dưới và nhấn nút Bắt đầu để thực hiện truy vấn và thêm người dùng Quản trị viên mới vào bảng:

    INSERT INTO `jos31_users`
    (`name`, `username`, `password`, `params`)
    VALUES ('Administrator2', 'admin2',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');
    INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
    VALUES (LAST_INSERT_ID(),'8');
    
  3. Hãy nhớ thay thế hai lần xuất hiện jos31_bằng tiền tố được sử dụng bởi cài đặt Joomla của bạn (điều này thường dễ dàng được phát hiện trong phpMyAdmin).

  4. Bây giờ bạn có thể truy cập trang web của mình với tên người dùng admin2bí mật mật khẩu . Đảm bảo chỉnh sửa mật khẩu của bạn sau khi bạn đăng nhập.

Phương án 3:

Tạo một tệp PHP với mã bên dưới, tải nó lên thư mục JOOMLAROOT / quản trị viên của bạn và chạy nó trong trình duyệt của bạn. Nó sẽ đăng nhập bạn ngay lập tức (cả Joomla 2.5 và 3) và cho phép bạn thêm / chỉnh sửa người dùng. Nhớ xóa tệp sau khi bạn hoàn tất. Không làm như vậy sẽ đại diện cho một vấn đề bảo mật rất lớn.

Công cụ này cũng có thể được tìm thấy ở đây: http://myext.eu/en/j25-login

<?php
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__) . '/defines.php')) {
    include_once dirname(__FILE__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
    define('JPATH_BASE', dirname(__FILE__));
    require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';
require_once JPATH_BASE.'/includes/helper.php';
require_once JPATH_BASE.'/includes/toolbar.php';
$app = JFactory::getApplication('administrator');
JPluginHelper::importPlugin('user');
$user = JUser::getInstance();
$db = JFactory::getDBO();
$q = 'SELECT u.* FROM `#__users` as u
        LEFT JOIN `#__user_usergroup_map` as ug ON u.id = ug.user_id
        WHERE `block` = 0 AND `activation` = 0 AND ug.group_id = 8
        LIMIT 0,1';
$db->setQuery($q);

$user_tmp = $db->loadObject();
$user_tmp->guest = 0;
$user_tmp->isRoot = 1;
// $user_tmp->groups = array(8=>8);
// $user_tmp->_authGroups = array(1,8);
// $user_tmp->_authLevels = array(1,1,2,3);
// $user_tmp->gid = 1000;

foreach($user_tmp as $k=>$v){
    $user->set($k,$v);
}
$session = JFactory::getSession();
$session->set('user', $user);
$app = JFactory::getApplication();
$app->checkSession();
$app->redirect( JUri::base(), "" );
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.