web-dev-qa-db-ja.com

1.5からの移行後に管理者のパスワードをどのように(再)設定しますか?

ツール SP UPGRADE を使用して、古いJoomla 1.5サイトを光沢のある新しいJoomla 3.3バージョンに移行しました。

ログインできないようですが、DB内のすべてのユーザーパスワードが、パスワードを作成する古い方法である「MD5」:「Salt」のように見えるので、ログインするのを恐れています。

新しいコードがベースのパスワードを使用していることを理解しています。古いスタイルの「シークレット」パスワードで貼り付けることについて説明した方法はすべて機能しません。

Joomla 3.3でパスワードをリセットするにはどうすればよいですか?

7
tgunr

これは、アカウントのパスワードを一時的にリセットするための回避策です。

  1. ホスティングパネルにログインし、利用可能なデータベースツール(おそらくPHPmyAdmin)を使用します。

  2. 適切なデータベースをロードしてから、jos_usersテーブルに移動します。 (データベースのプレフィックスは、ケースによって異なる場合があります)。

  3. PHPmyAdminの参照ビューに移動すると、ユーザーレコードのビューが表示されます。
  4. アカウントを見つけてクリックして編集するか、「パスワード」フィールドを直接クリックします(通常、PHPmyAdminでは、これを使用してフィールドを編集可能にします)。
  5. パスワードフィールドに以下の値を貼り付けます。

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

  1. フィールドを保存するための特別な機能を適用しないでください。アカウントのパスワードがadminに設定されます。レコードを保存します。

これで、パスワードとしてadminを使用して、自分のアカウントでログインできます。

ログイン後、必ずご希望のパスワードを設定してください。

9
FFrewin

FFrewinの細かい答えに加えて、管理者パスワードをリセットするいくつかの代替方法を次に示します。

お知らせ
これらのメソッドのほとんどは、パスワードをadminのような単純なものに設定することに注意してください。後で強力なパスワードを設定することが非常に重要です。サイトがハッキングされたと思われる理由がある場合、Joomlaインストールへのアクセスを回復したら、管理者アクセス権を持つ他のユーザーを削除することをお勧めします。
これらのメソッドの一部は Joomla Docs から取得されます。

代替1:Configuration.phpファイル

別のユーザー(スーパー管理者権限なし)でログインできる場合は、Joomlaルートディレクトリのconfiguration.phpファイルの下部に次の行を追加できます。

public $root_user='myname';

mynameを、パスワードを知っている任意のユーザーのユーザー名(作成者権限以上)に置き換えます。このユーザーはスーパーアドミニストレーターとしてログインできるようになり、ユーザーマネージャーでユーザーを編集/追加できます。完了したら、プロンプトが表示されたときにJoomlaに自動的に実行させるか、ファイルを手動で編集して、configuration.phpファイルから余分な行を削除することを忘れないでください。

代替策2:新しい特権管理者ユーザーを追加する

この方法を使用して、新しいスーパー管理者ユーザーを作成できます。

  1. PhpMyAdmin(またはホスティングに応じて同様)を開き、Joomla!のデータベースを選択します。地点。
  2. ツールバーの「SQL」ボタンを押して、選択したデータベースでSQLクエリを実行します。これにより、「データベースでSQLクエリを実行」というフィールドが表示されます。このフィールドのテキストを削除し、以下のクエリをコピーして貼り付け、[実行]ボタンをクリックしてクエリを実行し、新しい管理者ユーザーをテーブルに追加します。

    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. jos31_の2つの出現箇所を、Joomlaインストールで使用されている接頭辞に置き換えることを忘れないでください(これは通常、phpMyAdminで簡単に見つけられます)。

  4. ユーザー名admin2とパスワードsecretでサイトにアクセスできるようになりました。ログインしたら、必ずパスワードを編集してください。

代替3:

PHPファイルを作成し、JOOMLAROOT/administratorディレクトリにアップロードして、ブラウザで実行します。これにより、瞬時に(Joomla 2.5と3の両方で)ログインし、ユーザーを追加/編集します。完了したらファイルを削除することを忘れないでください。そうしないと、セキュリティ上の大きな問題が発生します。

ツールはここにもあります: 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(), "" );
7
johanpw