mysql:8860
From: 杉本誠 <杉本誠 <sugimoto@xxxxxxxxxx>>
Date: Mon, 23 Feb 2004 10:34:25 +0900
Subject: [mysql 08860] mod_auth_mysql のパスワード暗号化について
お世話になります。はじめて投稿します。 すぎもとといいます。よろしくお願いします。 早速ですが、ご教授いただければ幸いです。 社内イントラで、mod_auth_mysqlを使用し、MySQL上で暗号化パスワードの利用を 考えています。 しかし、通常のテキストなら認証OKなのですが、パスワードフィールドを暗号化する と認証できなくなってしまいます。 環境は以下の通りです。 OS: WindowsNT4.0SP6a WebServer: Apache1.3.24 MySQL :3.23.55 使用データベースとテーブル authdb 、authtable ●Apache httpd.confのmod_auth_mysql関係部分抜粋 LoadModule mysql_auth_module modules/mod_auth_mysql.so <IfModule mod_auth_mysql.c> <Location /restricted> AuthName "MySQL Secured Place" AuthType Basic require valid-user AuthMySQLHost localhost AuthMySQLDB authtdb AuthMySQLUser apache AuthMySQLPassword PaSsWorD AuthMySQLUserTable authtable AuthMySQLNameField username AuthMySQLPasswordField password AuthMySQLCryptedPasswords On </Location> </IfModule> ●認証対象のディレクトリの.htaccess AuthName "このページはパスワード制限されています" AuthType Basic require valid-user AuthMySQLHost localhost AuthMySQLDB authdb AuthMySQLUser apache AuthMySQLPassword PaSsWorD AuthMySQLUserTable authtable AuthMySQLNameField username AuthMySQLPasswordField password AuthMySQLCryptedPasswords On これら2つの設定は、mod_auth_mysqlの付属サンプルほぼそのままです。 ●authtableにユーザーを追加するSQL INSERT INTO authtable (username, password) VALUES('sugimoto', password('abcd')); password()関数で、確かに暗号化されますが、それを正しくBasic認証することが出来ません。 password()を使用せずにBasic認証すると、OKとなります。 AuthMySQLCryptedPasswords Onで暗号化対応だと思うのですが、プレーンテキストで 認証してしまいます。 いろいろ調べて、暗号化がpassword()関数ではなく、encrypt()関数を使用するという記 述に行き当たりましたが、WinNT用MySQLでは使用できないとの事でした。 mod_auth_mysqlはバージョンによって、設定方法がかなり違うようで、試行錯誤しています。 何かヒントでもいただければ幸いです。 以上、よろしくお願いいたします。
-> 8860 2004-02-23 10:34 [杉本誠 <sugimoto@xxx] mod_auth_mysql のパスワード暗号化について 8862 2004-02-23 22:31 ┣["A.K.I." <aki@xxxxxx] 8865 2004-02-24 10:31 ┃┗[杉本誠 <sugimoto@xxx] 8863 2004-02-23 23:04 ┗[tateyan <tateyan@xxx] 8864 2004-02-23 23:35 ┣[tateyan <tateyan@xxx] 8867 2004-02-24 11:06 ┃┗[杉本誠 <sugimoto@xxx] 8866 2004-02-24 10:43 ┗[杉本誠 <sugimoto@xxx]