11.26 访问控制Directory

访问控制 – Directory目录概要

  • 核心配置文件内容
  <Directory /data/wwwroot/111.com/admin/>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Directory>
  • curl测试状态码为403则被限制访问了

访问控制

  1. 打开虚拟主机配置文件
  • Order,用来定义顺序,是先deny,还是allow
    • 若是先deny,就先执行deny的语句
    • 若是先allow,就先执行allow的语句
    • 特殊性:
      • 不管IP是否匹配到,它都会从头到尾执行完
[root@hf-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

将代码放在防盗链代码上面,防止冲突
  <Directory /data/wwwroot/111.com/admin/>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Directory>
  1. 创建一个admin目录,并新建一个index.php文件,内容为121212
[root@hf-01 ~]# cd /data/wwwroot/111.com
[root@hf-01 111.com]# ls
11.png  123.php  
[root@hf-01 111.com]# mkdir admin/
[root@hf-01 111.com]# cd admin/
[root@hf-01 admin]# ls
[root@hf-01 admin]# touch index.php
[root@hf-01 admin]# echo "121212" > index.php
[root@hf-01 admin]# ls
index.php
[root@hf-01 admin]# cat index.php
121212
[root@hf-01 admin]# cd ..
[root@hf-01 111.com]# 
  1. 检查语法错误,并重新加载配置文件
[root@hf-01 111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@hf-01 111.com]# /usr/local/apache2.4/bin/apachectl graceful
[root@hf-01 111.com]# 
  1. 限制的原 IP
  • curl -x127.0.0.1:80 111.com/admin/index.php -I
    • 127.0.0.1是目标 IP ,而要访问的IP,也要使用127.0.0.1去访问,最终就是目标IP和原IP是同一个IP,自己和自己通信,限制IP是 原 IP
    • -x指定的是目标IP
[root@hf-01 111.com]# curl -x127.0.0.1:80 111.com/admin/index.php -I
HTTP/1.1 200 OK
Date: Mon, 25 Dec 2017 23:42:01 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
X-Powered-By: PHP/5.6.30
Content-Type: text/html; charset=UTF-8

[root@hf-01 111.com]# 
  1. 在更换目标IP,那么原IP也会跟着变化
[root@hf-01 111.com]# curl -x192.168.74.150:80 111.com/admin/index.php -I
HTTP/1.1 403 Forbidden
Date: Mon, 25 Dec 2017 23:47:06 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1

[root@hf-01 111.com]# 
  1. 浏览器访问111.com/admin会显示forbidden
  • 访问控制是用目录的形式来做的,首先规定一个目录访问到哪里去的(目录必须使用绝对路径),然后是Oerder,控制的对象就是来源IP

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏zhangdd.com

windows系统Tomcat启动过程中找不到JAVA_HOME解决方法

在winserver上明明已经安装了JDK1.6并设置好了JAVA_HOME,可偏偏Tomcat在启动过程中找不到。

8910
来自专栏java一日一条

浅谈浏览器HTTP的缓存机制

针对浏览器的http缓存的分析也算是老生常谈了,每隔一段时间就会冒出一篇不错的文章,其原理也是各大公司面试时几乎必考的问题。

12620
来自专栏Debian社区

Alpine Linux 3.6.1 发布,轻量级 Linux 发行版

Alpine Linux 3.6.1 已发布。Alpine Linux 是由社区开发的操作系统,它面向 x86 路由器、防火墙、虚拟专用网、IP 电话盒及服务器...

17830
来自专栏Java帮帮-微信公众号-技术文章全总结

web服务器与HTTP协议

Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 l Internet上供外界访问的Web资源分为:...

68560
来自专栏along的开发之旅

Http响应和HttpServletResponse对应设置方法

其中状态码格外重要, 表示当前请求的响应状态. 服务器处理请求的常见的状态: 200 : 表示请求处理完成并完美返回 302: 表示请求需要进...

5810
来自专栏calvin

jira webhook 事件触发并程序代码调用jenkins接口触发构建操作

开发管理工具触发站点构建事件,事件处理中需要调用Jenkins接口开始构建动作。 我的应用场景: 使用jira作为管理工具,在jira中创建自定义的工作流来...

84930
来自专栏Java编程技术

Java网络编程基础篇

网络通讯在系统交互中是必不可少的一部分,无论是面试还是工作中都是绕不过去的一部分,本节我们来谈谈Java网络编程中的一些知识,本chat内容如下:

52410
来自专栏pangguoming

CentOS 6 使用 yum 安装MongoDB及服务器端配置

安装MongoDB的方法有很多种,可以源代码安装,在Centos也可以用yum源安装的方法。由于MongoDB更新得比较快,我比较喜欢用yum源安装的方法。64...

46570
来自专栏琯琯博客

优化 Laravel 网站打开速度

1.关闭debug 打开.env文件,把debug设置为false. APP_ENV=local APP_DEBUG=false APP_KEY=base64...

437110
来自专栏Java进阶架构师

精选提高开发效率的15个idea插件

最近大部分开发IDE工具都切换到了,所以也花了点心思去找了相关的插件。这里整理的适合各种语言开发的通用插件,也排除掉IntelliJ IDEA自带的常用插件了(...

3.9K30

扫码关注云+社区

领取腾讯云代金券