- PR -

Apache+PHP環境下でのBasic認証について(MD5形式)

1
投稿者投稿内容
TiKi@
会議室デビュー日: 2001/11/07
投稿数: 13
投稿日時: 2004-11-11 21:43
こういった質問はここで発言していいのかわからないのですが、
Apache/2.0.48 (Win32)+PHP/4.3.9+PowerGresをWindows2003 Serverに入れて
プログラムを構築しています。
管理者画面とユーザー認証のある画面があり、ユーザーが利用するページには
Basic認証を利用しています。
管理画面でIDとパスワードを入力し、データベースに登録します。
(パスワードはDBに保存する前にPHPでMD5形式に暗号化しておきます。)
ユーザーが登録されたり、パスワードが変更されるごとに
.htpasswdを再生成し、認証時に使用します。
しかし、ユーザー認証時にいくらパスワードを入力してもエラーとなってしまいます。
調べてみると、PHPでMD5暗号化したパスワードと、Apache2に付属のhtpasswdで
MD5暗号化したパスワードとでは、桁数など出力した形が違っているようでした。
Basic認証でPHPではき出した.htpasswdを正しく使用できるにはどうしたらいいでしょうか?
ご存じの方がいらっしゃましたら、よろしくお願いします。

■パスワード「guest」をApache2付属のhtpasswdで暗号化した場合。
「$apr1$fR5.....$PRdtdiEClg/83D62sPgOV.」
■パスワード「guest」をPHPのmd5()関数で暗号化した場合。
($string = md5($password);)
「$1$ow/.R33.$OohY331rBMVqozKd1nZpX/」
1

スキルアップ/キャリアアップ(JOB@IT)