|
本軟體原有訊息請查看README.TXT 檔案說明(0.16版)。(預設 a、b、c、d四個帳號(密碼同)) 檔案下載區
簡介:
這是一套適用於php3、php4下的密碼使用判斷程式,支援多國語言。可以提供網頁間身份傳遞,並可以適用不同等級身份的判斷。身分判斷可以一直維持,直到登出為止。
原提供密碼判斷、使用者編組方式的群組供能。由於以編組方式一個帳號只能歸屬於一個組別,不夠彈性,因此我再增加了群組的功能及指定帳號的方式兩種。
安裝:
- 把程式碼複製到/home/httpd/htm/php/phpSecurePages 下(含images) 。
(Redhat網頁根目錄預設:/home/httpd/htm)
- 在php3使用兩個資料表做 session 判斷使用(php4不需要,內定功能)。
# Database : phpSecurePages
# Table structure for tables 'phpSP_sessions' and 'phpSP_sessionVars'
CREATE TABLE phpSP_sessions (
id CHAR(20) NOT NULL,
LastAction DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
ip CHAR(15) NOT NULL,
userID MEDIUMINT(9),
PRIMARY KEY (id), KEY id (id),
UNIQUE id_2 (id)
);
CREATE TABLE phpSP_sessionVars (
id MEDIUMINT(8) UNSIGNED DEFAULT '0' NOT NULL AUTO_INCREMENT,
session VARCHAR(20) NOT NULL,
name VARCHAR(30) NOT NULL,
intval INT(10) UNSIGNED,
strval VARCHAR(100),
PRIMARY KEY (id),
KEY sessionID (session),
UNIQUE id (id)
);
- 使用者帳號的建立,可以文字方式或資料表方式來建立。 文字檔(少數使用者情形):
在secure.php 的後半段
/****** Data 使用者資料 ******/
$useData = true; $cfgLogin[1] = 'a'; //帳號
$cfgPassword[1] = 'a'; //密碼
$cfgFullName[1] = '-aaa-'; //全名
$cfgUserLevel[1] = '1'; //使用者編組(可以省略)
$cfgUserID[1] = ''; //個人代號(無作用)
//群組設定,一群組中可以多人
$cfgGroup[1] = 'demo'; //組名(供判斷用)
$cfgGroupUser[1] = array('a','d'); //本組人員帳號,以陣列方式輸入
$cfgGroupID[1] = ''; //未使用 或以資料庫方式建立:
/****** Database 使用資料庫 ******
/ $useDatabase = true; //要設定為 true值
# Database : phpSecurePages
# Table structure for table 'phpSP_users' 'phpSP_Group'
CREATE TABLE phpSP_users (
primary_key MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, //個人代碼
user VARCHAR(50) NOT NULL, //帳號
password VARCHAR(30) NOT NULL, //密碼
FullName VARCHAR(50) NOT NULL, //全名
userlevel TINYINT(3), //使用者編組
PRIMARY KEY (primary_key),
KEY (user)
);
CREATE TABLE phpSP_Group (
primary_key MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, //組別代碼
groupName VARCHAR(50) NOT NULL, //組別名稱
userList BLOB, //使用者列表,以逗號(,)分隔
PRIMARY KEY (primary_key),
KEY (groupName)
);
- 設定和MySQL連線的帳號、密碼,配合 secure.php 中的修改。
mysql > grant all privileges on phpSecurePages.* to 帳號@localhost IDENTIFIED
BY '密碼' ;
$cfgServerUser = 'root'; // MySQL user
$cfgServerPassword = ''; // MySQL password
- 把範例放在 /home/httpd/htm/php/phpSPDemo
- 在 /etc/httpd/php.ini 修改 includepath (包含檔搜尋路徑)加入"/home/httpd/htm/php",如下:
include_path = ".;/home/httpd/htm/php"
- 在範例中已預設 a、b、c、d四個帳號(密碼同),demo 群組中有a、d兩人。(查看secure.php 的後半段 /** Data
使用者資料 ***/
使用:(安裝後、帳號等均以建立後)
- 只要帳號通過就可以瀏灠此頁,在第一行加入以下:
<?php include("phpSecurePages/secure.php"); ?>
- 需要有指定組別代號,以下表第一、四組別可以進入,可以多組。(查看 $cfgUserLevel 設定)
<?php $requiredUserLevel = array(1,4); include("phpSecurePages/secure.php");
?>
- 需要指定群組,以下表demo群組中的帳號才可以進入。
<?php $requiredGroup = "demo"; include("phpSecurePages/secure.php");
?>
- 也可以指定特定帳號,以下表示只有 "c" 帳號才可以進入。
<?php $requiredUser = "c"; include("phpSecurePages/secure.php");
?>
- 簽出的畫面,須再加上 $logout = true ;
<?php $logout = true; include("phpSecurePages/secure.php"); ?>
- 登入的身份會一直維持,直到登出為止。
|