免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1007 | 回复: 0
打印 上一主题 下一主题

用Session对Web页面进行保护 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-31 17:23 |只看该作者 |倒序浏览

  在很多时候,我们都要对某些Web 页面进行安全保护。典型的例子就是前台浏览页面与后台管理页面的安全性。这也是 WEB 上用得最多的一种页面安全模式。在用PHP4 开发一个小型的书籍管理系统中,我也遇到了这个安全问题。于是我想到了PHP4 的新特性----Session ..
  要求目的:同一站点,无权用户,一般授权用户和超级用户能看到和使用不同的页面。
  实现办法:在要保护的页面 include 不同级别的安全检验摸板。
  注意事项:
  1 > 要避免用户浏览器不使用 cookie 而不能浏览受保护的页面(session 默认使用客户端的 cookie).
  2 > 要防止权限被盗用。( PHP 4 的 session 的默认存活期间是从建立 session 开始到关闭浏览器为止。)
  如何使用:
  1 > 在需要一般保护的页面的代码最前边加上 include ("secturity2.php"); 就行了
  2 > 在需要特殊保护的页面的代码最前边加上 include ("secturity1.php"); 和 include ("secturity2.php"); 就行了
  (假设所有文件都在同一个文件夹里)
  程序代码及详细解释:
  security1.php 特殊用户页面保护摸板
  security2.php 一般用户页面保护摸板
  login2.php 用户登陆页面
  我们先来看 login2.php (用户登陆页面)的代码:
  
LoginPage
"method=post>
Name:
connect($Host,$Database,$User,$Password); #连接 mysql数据库
$query="selectchrUserName,chrFirstName,chrLastName".
"fromUser".
"wherechrFirstName!=''".
"orderbychrFirstName";
$q->query($query); #执行sql语句
echo"";
while($q->next_record()){ #从数据库中调出一般用户
if($user==$q->f(0)) #判断是否是当前用户
$select="selected"; #是当前用户则设置为默认值
else
$select="";
echo"f(0)."'$select>".
ucfirst($q->f(1))."". #用户名首字大写
ucfirst($q->f(2))."";
}
echo"";
?>
Password:
>
>
security2.php (一般用户页面保护摸板):
$durtime){ #判断 session是否“失效”
//session_destroy();
$error=urlencode("Seesionexpired.Loginagainplease!");
header("Location:login2.php?fileName=$fileName&error=$error&user=$user"); #跳到重新登陆页
exit();
}
else{
$tmLast=$currtime; # session 没“失效”则更新最后“登陆”时间
}
include("class/dbclass.inc");
$q=newDB_Sql;
$q->connect($Host,$Database,$User,$Password);
$query="selectidUserfromUser".
"wherechrUserName='$user'".
"andchrPasswd='$password'";
$q->query($query);
if(!$q->num_rows()){ #判断是否找到密码匹配的用户
$error=urlencode("PasswordiswrongorNoprivilegeuser.");
header("Location:login2.php?fileName=$fileName&error=$error&user=$user"); #跳到密码错误登陆页
}
else{
$sid="PHPSESSID=".session_id();
$q->next_record();
$USERID=$q->f(idUser); #保存通过验证用户的ID号,方便以后使用
}
?>
  security1.php (特殊用户页面保护摸板):
  


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/60586/showart_512967.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP