我在看身份验证时,书中提到了HTTP验证的概念,就是说如果用户要读取一个受保护的资源,那么服务器就会返回一个401,这样浏览器就会根据这个401来弹出一个登陆窗口。这个过程在PHP中很好模拟,比如这样:
 3     $username='snailhope';
 4     $password='123456789';
 5     //当刚登录到这个页面时由于这是USER和PW均未设置也要进行验证框的调用
 6     if(!isset($_SERVER['PHP_AUTH_USER'])||!isset($_SERVER['PHP_AUTH_PW'])
 7     ||$_SERVER['PHP_AUTH_USER']!=$username||$_SERVER['PHP_AUTH_PW']!=$password){
 8         //将该页面设置成无权限访问
 9           header('HTTP/1.1 401 Unauthorized');
10           //调用验证框进行登录验证
11         header('WWW-Authenticate: Basic realm="登录认证"');
12         exit('验证失败!!!');
13     }我想请问的是,如果是一个静态页面,没有办法写code,那如何把一个页面定义为受保护的哪?

解决方案 »

  1.   

    现在基本上没有什么地方使用你上面的这种验证方式了,体验不好 安全性不高...
    如果需要控制某个页面 可以使用判断权限后include的方法. 或者读取页面内容输出.
    页面可以放置到web目录外的地方.保护当然是在服务器上做的.除非你在做cs的开发.
      

  2.   

    apache有个mod_auth,nginx对应模块没有研究过