Pear::Auth 認証

Pear::Auth 認証応用
スクリプト PHP ファイル
Auth-com-3.php


63Pear Villageに戻る

<?php
require_once 'Auth/Auth.php';

function loginFunc($usr, $status){
/*
 これはフォ-ム生成関数です。
 PEAR::Auth から引数として現在のユ-ザ名
 $usr (この情報はここでは使用せず)と
 認証ステ-タス $status (下記参照)
 を受取ります。
*/
  $err = array(
   AUTH_IDLED =>
   '最大アイドル時間を超過しています。<br>
    再ログインしてください。',
   AUTH_EXPIRED =>
   'ログイン期限が切れています。<br>
    再ログインしてください。',
   AUTH_WRONG_LOGIN =>
   'ユーザID/パスワードが間違っています。'
 );
 
  $id = array(
  '2544','6147','2802','5693','4098',
  '6136','9524','8319','8675','8586',
  '4644','7781','5025','2247','3912',
  '1828','8899','2869','5079','6212');
  $pass = array(
  '288552','664010','233950','499545',
  '683840','206759','260098','882528',
  '734597','473727','729214','977230',
  '215823','339913','516299','558651',
  '702517','480319','296353','301791');
 
  require_once('LoginForm.php');
}
$params = array(
  'cryptType' => 'md5',
  'users' => array(
   '2544' =>
   '63cec8936123f91ad1b825b64ac45467',
// '288552'
   '6147' =>
   '352146019822319ec3eb21478f7154d4',
// '664010'
   '2802' =>
   '711b095daefc18d2fc2272e0fecfcba4',
// '233950'
   '5693' =>
   'fa366005b7d368d1094596c1bbc5d64b',
// '499545'
   '4098' =>
   'bb01120c81b8a19fa403343213f0e9bc',
// '683840'
   '6136' =>
   '20cd67c3ecf06f429a8fc66d424f676e',
// '206759'
   '9524' =>
   '4b553e60955f86b7e4135216b077a892',
// '260098'
   '8319' =>
   'da08ad9c2a1641b8fb8cd49413571a21',
// '882528'
   '8675' =>
   'cbf2665300d0377413650c495eb4e241',
// '734597'
   '8586' =>
   'a7d70498391bb274f3f678c51af4bb82',
// '473727'
   '4644' =>
   '3762983125e4d125836f4cdafc0463ea',
// '729214'
   '7781' =>
   '27bf7f4a75776f5b2b4056eaebd6ea22',
// '977230'
   '5025' =>
   'e57863d38bcd769b0263bbeb8d44989b',
// '215823'
   '2247' =>
   '4251b1f40b2a67e13ac77e372ee97ca8',
// '339913'
   '3912' =>
   'd9904a0ce7ca1646db15359ed4d2bcd4',
// '516299'
   '1828' =>
   '805e2258e6f22aa2e5c8bbb68d6d1655',
// '558651'
   '8899' =>
   '9270c2877e438e3623d8b0b7247b7cfb',
// '702517'
   '2869' =>
   'acb4b37e0b24114864279f5f278cb3b0',
// '480319'
   '5079' =>
   '860ec99d81d641c676450f04f83c387a',
// '296353'
   '6212' =>
   '032312aeb60a000dcc8ff17747392f87',
// '301791'  
  ));
$myAuth =
  new Auth("Array", $params, "loginFunc");
/*
 ログインフォ-ムをカスタマイズします。
 使用するフォ-ム生成関数の名前は
 Authコンストラクタの第3引数に指定。
 LoginForm.phpが呼び出される。
*/
$myAuth->setExpire(30);
/*
 ログインしてから認証が期限切れとなる
 までの時間(単位:秒)を設定。
*/ 
$myAuth->setIdle(5);
/*
 このメソッドで、最大アイドル時間を設定。
 "アイドル時間"とは、 ユーザが2つの操作
 をする間隔の最大時間(単位:秒)
 のことです。
 操作無しに最大アイドル時間が経過すると
 ユーザは自動的にログアウトされます。
 逆に、ユーザが最大アイドル時間までに
 何か操作をすると、アイドル時間は
 リセットされます。
*/
$myAuth->start();
/*
 startメソッドは現在のユ-ザが認証済み
 であるかどうかを判断します。
 未承認の時はログインフォ-ムを表示、
 処理は中断しない。
 認証済みの時はそのまま後続の処理を続行。
*/
if(!$myAuth->checkAuth()){
/*
 checkAuthメソッドでユ-ザが未認証の時は
 以降の処理を中断
*/ 
  exit();
}

/*
認証ステ-タス $status 一覧

定義済の定数              値
AUTH_IDLED                -1
  セッションのアイドル時間が所定の時間を
  超えている  
AUTH_EXPIRED              -2  
  認証が有効期限切れになっている  
AUTH_WROND_LOGIN          -3
  ユーザー名またはパスワードが異なっている  
AUTH_METHOD_NOT_SUPPORTED -4
  コールバック関数が実装されていない  
AUTH_SECURITY_BREACH      -5
  セキュリティに問題があった  
AUTH_CALLBACK_ABORT       -6
  コールバック関数がセッションを終了させた  
*/
?>