查看: 983|回复: 14
|
如何PHP做Multiple level user authentication?
[复制链接]
|
|
我要做有关学校设备修缮系统(Final Year Project)的用户如下:
Admin
Teacher
Contractor--sign in and view only
我需要如何写program去做page protected security呢?
有哪位高人可以提供sample source code吗? |
|
|
|
|
|
|
|
发表于 4-1-2007 10:33 AM
|
显示全部楼层
原帖由 mkchuui 于 2-1-2007 12:14 AM 发表
我要做有关学校设备修缮系统(Final Year Project)的用户如下:
Admin
Teacher
Contractor--sign in and view only
我需要如何写program去做page protected security呢?
有哪位高人可以提供sample sour ...
page protected security 是指SSL ? |
|
|
|
|
|
|
|
发表于 4-1-2007 12:27 PM
|
显示全部楼层
原帖由 mkchuui 于 2-1-2007 12:14 AM 发表
我要做有关学校设备修缮系统(Final Year Project)的用户如下:
Admin
Teacher
Contractor--sign in and view only
我需要如何写program去做page protected security呢?
有哪位高人可以提供sample sour ...
是需要login的,对吗?
如果是需要login的,在核对username和password的时候,必定已经知道login的user是admin或teacher或contractor,那么最基本的就是加入一个session。
也可以加入一些requirement control,if else 之类的冬冬。
少少愚见,希望能够帮到你。 |
|
|
|
|
|
|
|
发表于 4-1-2007 04:49 PM
|
显示全部楼层
define('USER', 0);
define('ADMIN', 1);
define('TEACHER', 2);
define('CONTRACTOR', 3);
switch($user_level)
{
case ADMIN:
//do something
break;
case TEACHER:
//do something
break;
case CONTRACTOR:
//do something
break;
case USER: default:
//do something
break;
}
[ 本帖最后由 megablue 于 4-1-2007 04:51 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 5-1-2007 01:15 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 5-1-2007 07:18 PM
|
显示全部楼层
在 database 做。。。 member_rank field
这是最 standard 而且最值得用已经讨论也是以这类方法 |
|
|
|
|
|
|
|

楼主 |
发表于 6-1-2007 11:24 PM
|
显示全部楼层
谢谢,各位高人指点,我先努力试看。 |
|
|
|
|
|
|
|

楼主 |
发表于 28-1-2007 08:29 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 29-1-2007 08:19 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 29-1-2007 09:26 PM
|
显示全部楼层
原帖由 mkchuui 于 28-1-2007 08:29 PM 发表
如何做logout?
可以加,也就可以减 |
|
|
|
|
|
|
|

楼主 |
发表于 31-1-2007 03:16 PM
|
显示全部楼层
login script
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" c>
<title>Login Sistem Aduan Kerosakan</title>
<style type="text/css">
<!--
.style61 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
}
.style64 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; }
.style81 {color: #000000}
-->
</style>
</head>
<body>
<table width="850" border="1" align="center" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td height="19" valign="top" class="style37 style29"><div align="center" class="style61"><strong>SISTEM ADUAN KEROSAKAN KEMUDAHAN SEKOLAH </strong></div></td>
</tr>
<tr>
<td height="399" valign="top" class="style37 style29"><p align="center"> </p>
<table width="848" border="0" align="center">
<tr>
<th width="665" scope="col"><div align="left" class="style81"></div></th>
<th width="173" scope="col"><SCRIPT LANGUAGE="JavaScript">
var now = new Date();
var days = new Array('Ahad','Isnin','Selasa','Rabu','Khamis','Jumaat','Sabtu');
var months = new Array('Januari','Februari','Mac','April','Mei','Jun','Julai','Agos','September','Oktober','November','Disember');
var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();
function fourdigits(number) {
return (number < 1000) ? number + 1900 : number;
}
today = days[now.getDay()] + ", " +
date + " " +
months[now.getMonth()] + " " +
(fourdigits(now.getYear())) ;
document.write(today);
</script> </th>
</tr>
</table>
<table width="848" height="240" border="0" align="center" bordercolor="#98C7FD">
<tr>
<td width="606" height="21" colspan="2" bgcolor="#66CCCC"><div align="center"></div></td>
</tr>
<tr>
<td height="219" colspan="2"><form ACTION="check.php" method="POST" name="form1" id="form1">
<table width="350" border="0" align="center">
<tr>
<td> </td>
</tr>
</table>
<table width="350" border="0" align="center">
<tr>
<td height="16" bgcolor="#66CCCC"><div align="center" class="style61">Masukkan Kata Laluan Anda</div></td>
</tr>
</table>
<table width="350" border="0" align="center">
<tr>
<td><table width="349" border="1" align="center" bordercolor="#98C7FD">
<tr>
<td width="135" height="23" bgcolor="#66CCCC" class="style61"> ID Pengguna </td>
<td width="199"><input name="username" type="text" id="username" size="15"></td>
</tr>
<tr>
<td bgcolor="#66CCCC" class="style61">Kata Laluan </td>
<td><input name="password" type="password" id="password" size="15"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="26"><div align="center">
<input name="btnSemak" type="submit" id="btnSemak" value="Login">
</div></td>
</tr>
</table>
<p align="center">
<input type="hidden" name="hiddenField">
</p>
</form></td>
</tr>
</table></td>
</tr>
</table>
<p align="center"><span class="style61"> </span></p>
<p align="center"><br>
</p>
<p align="center"> </p>
<p> </p>
<p align="center"><span class="style64"> </span></p>
</body>
</html>
----------------------------------------------------------------------------------------------
check login
<?php
session_start();
{
mysql_connect('localhost','root','');// connect to db hostname, user name, pass
mysql_select_db(sakks); // pilih db
$result=mysql_query("SELECT COUNT(*) AS kira FROM login WHERE idpengguna='{$HTTP_POST_VARS['username']}' AND password='{$HTTP_POST_VARS['password']}'");
$result_ar=mysql_fetch_array($result) or die(mysql_error());
//$status=mysql_query("SELECT status FROM login WHERE id='{$HTTP_POST_VARS['login_username']}' AND password='{$HTTP_POST_VARS['secretkey']}'");
//$status_ar=mysql_fetch_array($status);
//1
$nama=mysql_query("SELECT nama FROM login WHERE idpengguna='{$HTTP_POST_VARS['username']}' AND password='{$HTTP_POST_VARS['password']}'");
$nama_ar=mysql_fetch_array($nama);
$status=mysql_query("SELECT status FROM login WHERE idpengguna='{$HTTP_POST_VARS['username']}' AND password='{$HTTP_POST_VARS['password']}'");
$status_ar=mysql_fetch_array($status);
if($result_ar['kira'] < 1)
header('Location: loginSalah.php');
else
header('Location: admin/index.php');
if($status_ar['status'] == guru){
header('Location:guru/index.php');
}
if($status_ar['status'] == kontraktor){
header('Location: kontraktor/index.php');
}
$user=$HTTP_POST_VARS['idpengguna'];
$nama=$nama_ar['nama'];
session_register('user');
session_register('nama');
}
?> |
|
|
|
|
|
|
|
发表于 1-2-2007 03:16 PM
|
显示全部楼层
回复 #11 mkchuui 的帖子
function logout() {
$_SESSION['user'] = '';
$_SESSION['nama'] = '';
}
你的 session 没有记录 password 吗?那么用户每一次refresh 就要再login 一次了 |
|
|
|
|
|
|
|

楼主 |
发表于 2-2-2007 09:07 PM
|
显示全部楼层
回复 #12 hui_yang 的帖子
如何用session纪录用户password?
[ 本帖最后由 mkchuui 于 2-2-2007 09:09 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 3-2-2007 10:33 AM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 12-3-2007 02:03 AM
|
显示全部楼层
cookies暂时不会做,能否提供example code?
如何做page protected? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|