ログインできません・・・

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
masa
記事: 3
登録日時: 2006年3月22日(水) 11:56

ログインできません・・・

投稿記事 by masa » 2006年3月22日(水) 12:09

はじめまして。
CMSデザイナーを導入しようとしております。
しかし、現在インストール後にログインできずに困っています。
よろしければご教示ください・・

現象:
1.設置後インストールドキュメントに沿ってインストール
2.manager.phpにアクセスすると、ユーザー名、パスワード名入力画面が表示される。
3.ユーザー名adminパスワードhimitsuと入力すると、「ユーザー名又はパスワードが違います」というエラーメッセージが出る。

環境:
cmsdesigner 1.1.2(cmsd_core_1_1_2a.zip)および(1.1.1cmsd_core_1_1_1a.zip)
php4.4.2
check.phpの結果:
----------------------------------------------------------------------
CMS Designer動作環境チェック結果は「OK」です。
但し、これは実際に動作する事を保証するものではありません。
CMS Designerをインストールして実際の動作をご確認ください。
----------------------------------------------------------------------

よろしくお願いします。

masa
記事: 3
登録日時: 2006年3月22日(水) 11:56

解決しました

投稿記事 by masa » 2006年3月24日(金) 15:44

自己レスです。
なんとか解決しました。
原因は、
導入環境(freebsd4.11+php4.4.2)
のcrypt方式がMD5で、配布されているパスワードの暗号化方式がDES方式だったためでした。

users.config.xmlの3行目の
adminのパスワード部分(cmLpVx3zXabg2)を、
himitsuをmd5で暗号化したもの($1$cm$16OStEWUoORqy5zW758AY/)に書き換えてなんとか動かせるようになりました。

おそらく暗号化にDES方式を採用している環境で動作確認を取っておられるのかと
思いますが、できればMD5の暗号化されたIDとパスワードもusers.config.xmlに併記するなどしていただけないでしょうか。
以下に詳細を投稿します。

よろしくお願いします。


現象:
CMSデザイナーのログイン画面で、
ID :admin
PWD:himitsu
と入力してもログインできない(IDまたはパスワードがちがいますと表示される)

原因:
配布されているファイルのパスワードの暗号化方式(DES)が
導入検証に使った環境(FREEBSD)の複合化方式(MD5)と異なっていたため。
※CMSdesigner(php)がcryptを使うと、MD5方式になる

スクリプト該当部分:( ./include/user.php.inc439行目)
if ( $this->password == crypt( $inputPassword, 'cm') )

対策:
users.config.xmlの3行目の
adminのパスワード部分(cmLpVx3zXabg2)を、
himitsuをmd5で暗号化したもの($1$cm$16OStEWUoORqy5zW758AY/)に書き換える。

詳細:
書き換え前
<user id="admin" password="cmLpVx3zXabg2" role="administrator"/>
書き換え後
<user id="admin" password="$1$cm$16OStEWUoORqy5zW758AY/" role="administrator"/>

スクリプト該当部分詳細

コード: 全て選択

( ./include/user.php.inc439行目付近)	
		function Auth( $inputPassword )
		{
/*
・users.config.xmlにあるDESで暗号化された文字列を取得(this->password)
・this->passwordと入力値(inputPassword)をMD5で暗号化した文字列
 (crypt($inputPassword,'cm'))を 比較して一致し場合、ログインを許可する

このときの値
$inputPassword            : himitsu
this->password            : cmLpVx3zXabg2
crypt($inputPassword,'cm'): $1$cm$16OStEWUoORqy5zW758AY/
*/
			if ( $this->password == crypt( $inputPassword, 'cm') )
			{
				return true;
			}
			else
			{
				return false;
			}
		}
最後に編集したユーザー masa on 2006年4月22日(土) 11:18 [ 編集 2 回目 ]

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 解決しました

投稿記事 by webmaster » 2006年3月24日(金) 16:47

 webmasterです。
 masaさん、回答が遅れてしまい申し訳ありませんでした。
 自己解決結果のご報告と解説、大変助かります。
 crypt方式が違う場合について考慮しておりませんでした。

 次回のバージョンアップにて対応させて頂きます。

 この度はご迷惑をおかけいたしました。m(_ _)m
 また何かありましたらよろしくお願い致します。

p.s.
 masa様が登録されたメールアドレスが、存在しないアドレスのようです。
 登録内容をご確認頂ければ幸いです。

masa
記事: 3
登録日時: 2006年3月22日(水) 11:56

投稿記事 by masa » 2006年3月27日(月) 15:16

>masa様が登録されたメールアドレスが、存在しないアドレスのようです。
:oops: おおっと・・・・
すいません、まったく気づきませんでした。
ご指摘ありがとうございます。早速直しました。

>次回のバージョンアップにて対応させて頂きます。
ありがとうございます!

今CMSDのチュートリアルの1「日記の作り方」を終えたのですが、
今まではプログラムを間におかないとできなかったことを、
最小限の独自タグを使うことでできるようになるツールとの感じを受けました。
デザイナーさんにとってできることが飛躍的に高まるかと思います。
ぜひこの路線で突き進んでいってください!

>また何かありましたらよろしくお願い致します。
こちらこそよろしくお願いします。 :lol:

返信