页面访问控制的3种方法

经常会看到这种现象,看下图

页面访问控制的3种方法_第1张图片

apache 页面访问控制

为什么要进行这样的控制呢,给不同的人看不同的东西,对信息进行保护,虽然这种保护比较低级,多多少少还是有点用的。

一,用htpasswd命令,产生权限控制文件

查看 复制 打印 ?
  1. [zhangy@BlackGhost test]$ htpasswd -c ./access tank   //生成一个密码文件 ,-c是新建一个文件  htpasswd -h可查看   
  2. New password:            //提示输入密码   
  3. Re-type new  password:         //重复密码   
  4. Adding password for  user tank  
  5. [zhangy@BlackGhost test]$ cat access    //查看一下密码文件   
  6. tank:Uj5B3qIF/BNdI      //用户名是明文的,密码是加密的。   

到这儿密码文件是生成好了。

二,页面访问控制方法

1,能过修改httpd.conf或者是httpd-vhosts.conf来进行配置

查看 复制 打印 ?
  1. listen 10004  
  2. NameVirtualHost *:10004  
  3. <VirtualHost *:10004>  
  4.  DocumentRoot "/home/zhangy/www/test"   
  5.  ServerName *:10004  
  6.  BandwidthModule On  
  7.  ForceBandWidthModule On  
  8.  Bandwidth all 1024000  
  9.  MinBandwidth all 50000  
  10.  LargeFileLimit * 500 50000  
  11.  MaxConnection all 2  
  12.   
  13.  ErrorLog "/home/zhangy/apache/blog.51yip.com.com-error.log"   
  14.  CustomLog "/home/zhangy/apache/blog.51yip.com-access.log"  common  
  15. //看一下,下面的配置   
  16.  <Directory /home/zhangy/www/test>  
  17.  AuthType Basic  
  18.  AuthName "access test"   
  19.  AuthUserFile /home/zhangy/www/test/access  
  20.  Require valid-user  
  21.  </Directory>  
  22.   
  23. </VirtualHost>  

2,我们可以利用.htaccess文件来进行控制

在test的根目录下面建一个.htaccess的文件

查看 复制 打印 ?
  1. [zhangy@BlackGhost test]$ vi .htaccess    //打开个文件 ,添加权限内容   
  2. [zhangy@BlackGhost test]$ cat .htaccess  //下面就是.htaccess的内容   
  3.  AuthType Basic  
  4.  AuthName "access test"   
  5.  AuthUserFile /home/zhangy/www/test/access  
  6.  Require valid-user  

如果要给很多人设置不同的用户名和密码,使用AuthGroupFile设置选项 比较方便

3,不用密码文件,也可以进行访问控制

查看 复制 打印 ?
  1. define( 'ADMIN_USERNAME' , 'tank' );      // Admin Username   
  2. define('ADMIN_PASSWORD' , 'tank' );       // Admin Password   
  3.   
  4. //log check   
  5. if  (!isset( $_SERVER [ 'PHP_AUTH_USER' ]) || !isset( $_SERVER [ 'PHP_AUTH_PW' ]) ||  
  6.  $_SERVER [ 'PHP_AUTH_USER' ] != ADMIN_USERNAME || $_SERVER [ 'PHP_AUTH_PW' ] != ADMIN_PASSWORD) {  
  7.  Header("WWW-Authenticate: Basic realm=/"access test/"" );  
  8.  Header("HTTP/1.0 401 Unauthorized" );  
  9.   
  10.  echo  <<<EOB  
  11.  <html><body>  
  12.  <h1>Rejected!</h1>  
  13.  <big>Wrong Username or  Password!</big>  
  14.  </body></html>  
  15. EOB;  
  16.  exit ;  
  17. }  

上面用的是php的方法,其他语言我想也有。您可以把上面的这段代码写成一个文件,进行共用包涵,也可以把它封装到底基,这样不管访问什么页面,都可以进行访问控制。

转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/apachenginx/1051.html

你可能感兴趣的:(页面访问控制的3种方法)