- Home ›
- PEAR入門 ›
- ユーザー認証(PEAR::Auth) ›
- HERE
データベースの用意
では認証用データベースを作成してみます。今回はMySQLを使います。
データベース名は「authdb」とします。
次にテーブルを作成します。テーブル名は「authtable」です。また「username」カラムと「password」カラムをテーブルに作成します。
各カラムは「varchar」型です。ユーザー名の方は任意の文字数でいいですが、パスワードの方は32文字以上格納できるようにして下さい(これはパスワードをMD5形式でハッシュした値が保存されるためで、MD5のハッシュ値は32バイトの文字列になるためです)。
次にPHPからこのデータベースにアクセスする時のユーザーを作成します。ユーザー名は「authuser」パスワードは「authpass」とします。(認証用のユーザー名ではなく、PHPからMySQLへアクセスする時のユーザーです)。与える権限は「authdb」データベースに対して「SELECT」だけです。
これでMySQL側の準備は終了です。
認証用ユーザーの追加
次にテストを行うための認証用のユーザーを追加しておきましょう。今回はユーザー名「testuser」パスワード「testpass」とします。
パスワードは平文のままではなく、MD5でハッシュした値を格納します。MD5とはMessage Digest Algorithm 5のことで入力された値を128ビットの値に要約するものです。PEAR::Authでは認証の際に入力された値をMD5でハッシュしてデータベースに格納されている値と比較します。
その為、事前にデータベースにユーザーを追加する時にもパスワードはハッシュした値を格納しなければいけません。ここではあくまでテストですのでPHPで用意されている「md5」関数を使ってパスワードである「testpaa」を変換されてみます。
<?php print("testpass -> ".md5("testpass")); ?>
上記の簡単なプログラムを実行して下さい。
上記で表示されている「179ad45c6ce2cb97cf1029e212046e81」がハッシュされた値です。
では「authtable」に行を追加してみます。
では次のページで実際に認証を行ってみます。
( Written by Tatsuo Ikura )