ツール SP UPGRADE を使用して、古いJoomla 1.5サイトを光沢のある新しいJoomla 3.3バージョンに移行しました。
ログインできないようですが、DB内のすべてのユーザーパスワードが、パスワードを作成する古い方法である「MD5」:「Salt」のように見えるので、ログインするのを恐れています。
新しいコードがベースのパスワードを使用していることを理解しています。古いスタイルの「シークレット」パスワードで貼り付けることについて説明した方法はすべて機能しません。
Joomla 3.3でパスワードをリセットするにはどうすればよいですか?
これは、アカウントのパスワードを一時的にリセットするための回避策です。
ホスティングパネルにログインし、利用可能なデータベースツール(おそらくPHPmyAdmin)を使用します。
適切なデータベースをロードしてから、jos_usersテーブルに移動します。 (データベースのプレフィックスは、ケースによって異なる場合があります)。
$ 2y $ 10 $ JszAMznv7U2Q4VETQdw7n.CX/HPekafC8sxa9.n0V2gp/t/.xvHYi
これで、パスワードとしてadminを使用して、自分のアカウントでログインできます。
ログイン後、必ずご希望のパスワードを設定してください。
FFrewinの細かい答えに加えて、管理者パスワードをリセットするいくつかの代替方法を次に示します。
お知らせ
これらのメソッドのほとんどは、パスワードをadmin
のような単純なものに設定することに注意してください。後で強力なパスワードを設定することが非常に重要です。サイトがハッキングされたと思われる理由がある場合、Joomlaインストールへのアクセスを回復したら、管理者アクセス権を持つ他のユーザーを削除することをお勧めします。
これらのメソッドの一部は Joomla Docs から取得されます。
別のユーザー(スーパー管理者権限なし)でログインできる場合は、Joomlaルートディレクトリのconfiguration.php
ファイルの下部に次の行を追加できます。
public $root_user='myname';
myname
を、パスワードを知っている任意のユーザーのユーザー名(作成者権限以上)に置き換えます。このユーザーはスーパーアドミニストレーターとしてログインできるようになり、ユーザーマネージャーでユーザーを編集/追加できます。完了したら、プロンプトが表示されたときにJoomlaに自動的に実行させるか、ファイルを手動で編集して、configuration.php
ファイルから余分な行を削除することを忘れないでください。
この方法を使用して、新しいスーパー管理者ユーザーを作成できます。
ツールバーの「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');
jos31_
の2つの出現箇所を、Joomlaインストールで使用されている接頭辞に置き換えることを忘れないでください(これは通常、phpMyAdminで簡単に見つけられます)。
ユーザー名admin2とパスワードsecretでサイトにアクセスできるようになりました。ログインしたら、必ずパスワードを編集してください。
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(), "" );