Forum
J! JAPAN TOP
ようこそ, ゲスト
ユーザ名: パスワード: 自動ログイン

トピック: Joomla! 管理用エリアにログインできません

Joomla! 管理用エリアにログインできません 11 年 2 ヶ月 ago #43

  • shinjin
  • shinjin さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 2
  • カルマ: 0
Joomla1.5を利用しているJoomla歴2ヶ月の超新人です。
Joomla! 管理用エリア ログインで先日突然、正しいユーザ名、パスワードを入力してもパスワード違いでログインできなくなりました。パスワードは変更したことはなく、前日まで問題なくログインできていました。ホームページ自体は異常なく表示されているのですが修正できずに困っています。どなたか対処法ご存知の方がいらっしゃったらご教示願えませんでしょうか?
ゲストの書き込みは許可されていません。

Re:Joomla! 管理用エリアにログインできません 11 年 2 ヶ月 ago #45

  • hanji009
  • hanji009 さんのアバター
  • Offline
  • Platinum Boarder
  • 投稿数: 466
  • 感謝を受け取りました 18
  • カルマ: 10
プログラムを再インストールしたほうが早いですね。
ゲストの書き込みは許可されていません。

Re:Joomla! 管理用エリアにログインできません 11 年 2 ヶ月 ago #50

  • karo
  • karo さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 12
  • カルマ: 2
質問者の方よりもっと初心者(約1ヵ月ちょっと)の
Joomla! 超〃新人 ですが。
再インストールは大変という場合、以下目を通してみて下さい。
(バージョン 1.5.6 ja-JP Stable の場合)

※Joomla! に詳しい方へ
 以下で誤りがないですよね?誤りがあればフォローお願いします。


1.ユーザ名/パスワードの確認

変更した事がないとは言え、
まずDB(MySQL)のユーザ名/パスワードが正しい事を確認してみては
どうでしょうか? 確認していましたらすみません。

パスワードロジックをデバッグ(PDT+Xdebug)してみました。
その結果、以下の SQL を phpMyAdmin または mysql を使って
発行すれば確認出来るかと思います。
mysql は得意ではないので、もっと良い SQL があるかも知れない
事をご了承下さい。


以下 2項目を自分の環境に合わせて書き変えて下さい。
・■■テーブルプレフィックス■■
→ デフォルト: jos_
・■■であるはずのパスワード■■
→ 自分の覚えているこれだというパスワード


◆◆◆ Administrator のユーザ名を確認します ◆◆◆

SELECT username FROM ■■テーブルプレフィックス■■_users
WHERE name = 'Administrator'
;

表示されたユーザ名が違っていたら、そういう事かと
思います。


◆◆◆ パスワードを確認します ◆◆◆

SELECT
SUBSTRING(password, 1, LOCATE(':', password)-1) AS PASSWD
FROM
■■テーブルプレフィックス■■_users
WHERE
name = 'Administrator'
UNION ALL
SELECT
MD5(CONCAT('■■であるはずのパスワード■■'
,SUBSTRING(password, LOCATE(':', password)+1)))
FROM
■■テーブルプレフィックス■■_users
WHERE
name = 'Administrator'
;

出力の 1行目と2行目の文字列が同じであればパスワードは
あっているかと思います。
違っていれば、上記ロジックを理解して UPDATE(SQL)実行
上記ロジックが誤っている可能性も十分にあるので、
UPDATE 時は、バックアップを取ってからにして下さい。


2.デバッグで確認する

以上でダメならデバッグしてみるとすぐ解るとは思うのですが、
プログラミング経験がなければ難しいかと思います。

参考まで: パスワードロジックの箇所は以下の辺りです。

[plugins/authentication/joomla.php.plgAuthenticationJoomla->onAuthenticate]
84: $parts = explode( ':', $result->password );
85: $crypt = $parts[0];
86: $salt = @$parts[1];
87: $testcrypt = JUserHelper::getCryptedPassword($credentials, $salt);

[スタックトレース]
plugins/authentication/joomla.php.plgAuthenticationJoomla->onAuthenticate : lineno 84
libraries/joomla/user/authentication.php.JAuthentication->authenticate : lineno 121
libraries/joomla/application/application.php.JApplication->login : lineno 509
administrator/includes/application.php.JAdministrator->login : lineno 181
administrator/components/com_login/admin.login.php.LoginController->login : lineno 64
administrator/components/com_login/admin.login.php.require_once : lineno 21
libraries/joomla/application/component/helper.php.JComponentHelper->renderComponent : lineno 162
administrator/includes/application.php.JAdministrator->dispatch : lineno 130
administrator/index.php.{main} : lineno 67


なお、デバッグは以下の環境で出来ました
- xampp 1.6.7 Windows 版
- Xdebug 2.0.3, php 5.2.1-5.2.6 用 Windows版バイナリ
- PDT(Eclipse の php 環境)

Unix 系レンタルサーバ上で問題が発生していれば、
- データベースのエクスポート
- サーバ上のJoomla ファイル全て
をダウンロードしてローカルでデバッグすれば良いと思います。
ゲストの書き込みは許可されていません。

Re:Joomla! 管理用エリアにログインできません 11 年 2 ヶ月 ago #58

  • shinjin
  • shinjin さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 2
  • カルマ: 0
karoさん。
RESおくれてすみません。
プログラムの経験が浅いのでいろいろ周りに聞きながらさっそく試してみます。
ご指導ありがとうございました。
ゲストの書き込みは許可されていません。