当前位置:首页 > PHP教程 > Apach > 列表

用Session代替Apache服务器验证

发布:smiling 来源: PHP粉丝网  添加日期:2013-11-22 22:25:32 浏览: 评论:0 

对于需要身份验证的页面,使用apache服务器验证是最好不过的了。不过,apache服务器验证的界面不够友好。而且,并不是所有的情况都可以使用apache服务器验证,比如cgi模式的php,iis下的php。

用session可以在不同页面间保存用户身份,比如
 
login.php
 
  1. if ($name=="" && $pass==""
  2. ?> 
  3. "login.php"
  4. user:"text" name="name">
     
  5. pass:"text" name="pass">
     
  6. "submit" value="ok"
  7.  
  8. else 
  9. if($name!="uuu" || $pass!="ppp"
  10. echo "login fail!"
  11. else 
  12. session_register("user"); 
  13. session_register("passwd"); 
  14. $user=$name
  15. $passwd=$pass
  16. echo "OK!
    next.php">next page"
  17. ?> 
  18.  

next.php

  1. session_start(); 
  2. echo "username:$user"
  3. ?> 

但是,用户可以使用http://phpfensi.com/next.php?user=uuu 来绕过身份验证。

所以,实际的next.php必须是这样:
 
  1. session_start(); 
  2. if (!session_is_registered("user")) 
  3. echo "login fail"
  4. else 
  5. echo "username:$user"
  6. ?> 

使用session_is_registered()来检测session变量,这样,用session已经基本实现对身份的可靠验证。

Tags: Session Apache 服务器验证

分享到: