关于Apache服务器的访问控制

Apache的访问控制指对任何资源的任何方式的访问控制。

一、基于主机或者IP地址的控制

这种访问控制基于访问者的主机名或者IP地址,通过使用 Deny 和 Allow 指令,实现允许或者禁止某个主机访问我们的服务器资源。通常 Order 指令也会一起使用,来定义 Deny 和 Allows 指令起作用的顺序。如果不使用 Order 指令,默认的顺序为 Deny, Allow, 就相当于 Order Deny,Allow。

Order 指令和 Allow,Deny 指令配合使用,实现了一个三步控制系统。

第一步:根据Order的顺序,将顺序在前的所有的Allow指令或者Deny指令应用于当前请求;也就是说如果是 Order allow,deny ,那么第一步就是将所有的Allow指令应用于当前访问,如果有匹配,那么就允许该访问;如果沒有匹配到一条Allow指令,那么就禁止其访问;

第二步:将剩下的另外一个指令的所有语句跟当前请求匹配,如果有匹配就执行相应的访问控制;

第三步:如果当前请求没有在前两步匹配到任何指令,就执行 Order 指令中后面的那个指令。

下面,通过一个例子理解一下:

使指定目录下的资源只让本地访问

    <Directory "/server">
        Order allow,deny
        Allow from 127.0.0.1
    </Directory>

第一步: 本地的访问匹配了 Allow from 127.0.0.1 这条指令,所以被允许;其他的主机没有匹配到任何一条Allow指令,所以被禁止访问;

第二步:所有访问都没有匹配到 Deny 指令;

第三步:没有匹配到任何指令的访问,也就是不是本地的访问,按照 Order 指令,执行后面的 deny 的指令,所以被禁止访问;

二、根据环境变量的访问控制

这种方式可以通过 Allow from env= 或者 Deny from env= 语法实现,比如只允许使用火狐浏览器的客户访问:

    <Directory "/server">
        SetEnvIf User-Agent "Firefox" ff=1
        Order allow,deny
        Allow from env=ff
    </Directory>

三、使用 mod_rewrite 实现访问控制

通过 mod_rewrite 指令的 [F] 标志,可以实现

时间: 2024-08-04 04:59:45

关于Apache服务器的访问控制的相关文章

Apache服务器的配置与管理

Apache服务器的建立 一.项目设计 利用Apache服务建立普通Web站点.基于主机和用户认证的访问控制. 二.项目准备 安装有企业服务器版Linux的PC计算机一台.测试用计算机一台(Windows XP).并且两台计算机都在连入局域网.该环境也可以用虚拟机实现.规划好各台主机的IP地址. 三.安装过程 Apache相关软件 httpd软件包 httpd-manual软件包 1.检测是否安装httpd 2.开启httpd服务 3.查看80端口是否被监听 4.查看ip地址,并测试服务器是否能

Linux下搭建Apache服务器(完整版)

Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件).需要满足的条件也和BSD类似 Apache主要特点 1.开放源代码.跨平台应用 2.支持多种网页编程语言 3.模块化设计 .运行稳定.良好的安全性 Apache软件版本 1.X  1.目前最高版本是1.3,运行稳定  2.向下兼容性较好,但缺乏一些较新

Apache服务器的基本配置(详细)

一.WEB网站的基本概念: WWW的目的就是使信息更易于获取,而不管它们的地理位置在哪里.当使用超文本作为WWW文档的标准         格式后,人们开发了可以快速获取这些超文本文档的协议--HTTP协议,即超文本传输协议. 开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强.渐渐地,它开始在功能和速度上超越其他Web服务器.由于Apache服务器拥有牢靠可信的美誉

Linux运维实战之Apache服务器的高级配置(虚拟主机、status)

HTTP协议基础知识参考博文:http://sweetpotato.blog.51cto.com/533893/1656137 Apache2.2的基本配置参考博文:http://sweetpotato.blog.51cto.com/533893/1657668 Apache服务的配置分为三段: 1.全局配置(the 'global environment'):对主服务器或虚拟机都有效,且有些功能是服务器自身工作属性: 2.主服务器(main server):主站属性: 3.虚拟主机(Virtu

Apache服务器的简单配置与安全策略

在之前讲的关于weevely后门分析中,有说到利用Apache的配置文件.htaccess来隐藏php后门.关于.htaccess文件的用途,在此结合Apache服务器的具体配置作一详解,也算是自己的学习笔记了... 一  Apache服务器的搭建 详见之前的博文:CentOS 6.0下phpvod搭建教程(LAMP+phpvod) 二  httpd.conf文件的全局配置 1. ServerRoot  设置服务器目录的绝对路径,即Apache服务器的安装及配置文件.一般在/etc/httpd目

http服务(二)——apache基于用户名访问控制

当访问某些网站或网页时需要输入用户名和密码.身份认证是防止非法用户使用资源的有效手段,也是管理注册用户的有效方法,现在很多网站都使用身份认证来管理用户资源,对用户的访问权限进行严格的限制.Apache 服务器允许在全局访问配置文件或用户的".htaccess"文件中对目录进行强制口令保护.对于口令保护的目录,必须为四个不同的命令指定相应的值,即AuthName.AuthType.AuthUserFile和AuthGroupFile 命令.下面分别来介绍.(1) AuthName.Aut

转--htaccess语法教程 apache服务器伪静态规则教程

转自:http://blog.csdn.net/qingli518/article/details/9118361 htaccess语法教程apache服务器伪静态规则教程 注:如果你是为了找Discuz!论坛的为静态规则的话,其实不用看这里,Discuz!的后台有个链接点进去直接Copy就是了.PHPwind的我就不知道了,没用过,后台应该也有吧. 这几天一直在研究Apache的重写规则,虽然网上有很多教程,不过发现大部分都是抄袭一个人的,一点都不全,所以我想写一个简单的易于理解的教程,我学习

18、Apache服务器

-- web 服务器 survey.netcraft.net     --此网站会有每月份的世界上网站使用的WEB服务器的使用率统计 www.apache.org apache a patch server nginx IIS lighttpd IBM websphere tomcat   jboss     weblogic [[email protected] ~]# yum install httpd* -y [[email protected] share]# rpm -qa |grep

Linux下安装配置Apache服务器

Linux下安装配置Apache服务器 1. 安装Apache [[email protected] ~]# yum –y install httpd 2. 启动Apache [[email protected] ~]# systemctl start httpd 3. 查看进程 [[email protected] ~]# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib