当前位置:首页 > 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. ?> 
  4. "login.php"> 
  5. user:"text" name="name">
     
  6. pass:"text" name="pass">
     
  7. "submit" value="ok"> 
  8.  
  9. } 
  10. else 
  11. { 
  12. if($name!="uuu" || $pass!="ppp") 
  13. { 
  14. echo "login fail!"; 
  15. } 
  16. else 
  17. { 
  18. session_register("user"); 
  19. session_register("passwd"); 
  20. $user=$name; 
  21. $passwd=$pass; 
  22. echo "OK!
    next.php">next page"; 
  23. } 
  24. } 
  25. ?> 
  26.  

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. { 
  4. echo "login fail"; 
  5. } 
  6. else 
  7. { 
  8. echo "username:$user"; 
  9. } 
  10. ?> 

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

Tags: Session Apache 服务器验证

分享到: