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

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      //用户名是明文的,密码是加密的。
[zhangy@BlackGhost test]$ htpasswd -c ./access tank  //生成一个密码文件 ,-c是新建一个文件  htpasswd -h可查看
New password:            //提示输入密码
Re-type new password:        //重复密码
Adding password for user tank
[zhangy@BlackGhost test]$ cat access    //查看一下密码文件
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. ErrorLog "/home/zhangy/apache/blog.51yip.com.com-error.log"
  13. CustomLog "/home/zhangy/apache/blog.51yip.com-access.log"  common
  14. //看一下,下面的配置
  15. <Directory /home/zhangy/www/test>
  16. AuthType Basic
  17. AuthName "access test"
  18. AuthUserFile /home/zhangy/www/test/access
  19. Require valid-user
  20. </Directory>
  21. </VirtualHost>
listen 10004
NameVirtualHost *:10004
<VirtualHost *:10004>
DocumentRoot "/home/zhangy/www/test"
ServerName *:10004
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 1024000
MinBandwidth all 50000
LargeFileLimit * 500 50000
MaxConnection all 2
ErrorLog "/home/zhangy/apache/blog.51yip.com.com-error.log"
CustomLog "/home/zhangy/apache/blog.51yip.com-access.log" common
//看一下,下面的配置
<Directory /home/zhangy/www/test>
AuthType Basic
AuthName "access test"
AuthUserFile /home/zhangy/www/test/access
Require valid-user
</Directory>
</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
[zhangy@BlackGhost test]$ vi .htaccess   //打开个文件 ,添加权限内容
[zhangy@BlackGhost test]$ cat .htaccess  //下面就是.htaccess的内容
AuthType Basic
AuthName "access test"
AuthUserFile /home/zhangy/www/test/access
Require valid-user

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

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

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

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

收藏、分享这篇文章!

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

页面访问控制的3种方法相关推荐

  1. 让PHP支持页面后退的两种方法

    让PHP支持页面后退的两种方法(Cache-control  php back form) 在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现. ...

  2. js刷新页面有哪几种方法

    js刷新页面有哪几种方法 一.总结 一句话总结:location属性的reload方法即可:document.location.reload() 1.页面刷新有哪常见的8种方法? 1,history. ...

  3. HTML前端页面颜色的四种方法,色号表

    HTML前端页面颜色的四种方法,色号表 颜色的三种表示方式: (1)单词:red green black-用法: <font color="pink" size=" ...

  4. 【Axure交互教程】 隐藏页面滚动条的3种方法

    作品名称:隐藏页面滚动条的3种方法 作品编号:Case001 软件版本:Axure9 作品类型:交互案例 原型预览链接(附源文件下载链接):http://daisyaxure.com/demo/Cas ...

  5. html整体页面缩放的方法,html5中让页面缩放的4种方法

    1.viewport 这种方法,不是所有的浏览器都兼容 2.百分比 这种方法,可以兼容大部分浏览器,但是修改幅度比较大 .main .login .txt1{margin-top:8.59375%; ...

  6. 创建Vue单页面应用的3种方法

    创建Vue单页面应用的3种方法 首先下载Vue CLI 1.命令行创建(推荐) 2.Vue ui(不推荐) 3.Vite(未来流行,现在还不稳定) 首先下载Vue CLI 官方链接:https://c ...

  7. ASP.NET实现页面传值的几种方法

    第一种方法 通过URL链接地址传递 以下为引用的内容: send.aspx:   protected void Button1_Click(object sender, EventArgs e)    ...

  8. 修复Microsoft Edge上“无法到达此页面”错误的5种方法

    这里有五种方法来修复Microsoft Edge的"无法到达此页面"错误,以防你曾经在浏览器上遇到过这个错误. 尽管Edge是仅次于Chrome的第二大流行浏览器,但它也有一些故障 ...

  9. html中如何在页面底部增加,HTML中footer固定在页面底部的若干种方法

    如果主体内容过短不足以支撑浏览器时,footer会上移,非常影响页面,算是一个大bug了,搜过很多种方法现整理一下footer固定在第的若干种方法,供以后参考.(欢迎大家积极补充.) 以上布局为给个人 ...

最新文章

  1. python requests返回的json对象用json.loads()时转为字典时编码变为了unicode
  2. Chrome浏览器取代火狐的十大理由
  3. NYOJ 665 台球碰撞
  4. IClass与电源管理
  5. 运维更简单、更智能,让运维人不再 “拼命”
  6. 印象笔记电脑版使用技巧_苏江:打造你的第二大脑,印象笔记的5个超级使用技巧...
  7. JVM 新生代老年代
  8. Netflix Ribbon 负载均衡 概述 与 基本使用
  9. Chelly个人训练
  10. 取消桌面上计算机控制板网络三个系统图标,大神处置win10系统桌面图标“计算机 控制面板 网络”怎么不见了的解决方的步骤...
  11. 网易2017实习生招聘面试经历
  12. 如何解决国产TongWeb中间件启动之后无法访问网站管理后台界面
  13. 第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付
  14. 详解Linux内核IO技术栈
  15. 朴素贝叶斯法的参数估计——贝叶斯估计及其Python实现
  16. 3G门户4年衰落:转型平台遇阻 上市梦无期
  17. 微医(挂号网) 自动挂号python
  18. 模具腐蚀皮纹工艺原理及其流程
  19. 春节荐书 | 2019年我读过的十本好书
  20. Java当中关于类设计

热门文章

  1. 解决 multiple definition of
  2. IPTV和OTT概念,这几个你必须知道
  3. 面试请假攻略,不用裸辞也能找到工作
  4. oracle 毫秒时间换mysql_Mysql与Oracle常用时间格式的转换
  5. 索尼android sd卡上,SD卡各个文件夹功能详解 入手必看经验!!!!
  6. 服务器集群有哪些类型
  7. 计算机2010基础试题,2010年国硕士研究生入学统一考试计算机基础试题及答案
  8. windows下kafka启动时系统找不到指定的路径(受害者亲测)
  9. 为什么你写了一万小时的代码,却没能成为架构师?
  10. 醋泡三宝可以吃出长寿