<Directory>、<Files>、<Location> 这三个容器的作用都很相似,都是以容器的形式来封装一组指令对访问进行控制,只是它们的区别在于作用于目录、文件、网络,因此经常会有人将它们混用而导致一些安全问题的出现,例如,使用<Location>容器来限制文件系统中的目录或是文件:

<Location /srv/www/html>
Order allow,deny
Deny from all
</Location>

  在上面的例子中,<Location /srv/www/html>确实限制了 http://192.168.1.210/srv/www/html 的访问,但是超链接是不区分大小写的,用户如果使用 http://192.168.1.210/Srv/www/html 这样的链接来访问,<Location /srv/www/html>容器就无法限制了,其结果就是用户可以使用 http://192.168.1.210/Srv/www/html 或是其他大写格式来进行访问。

  而对于<Directory>与<Files>容器来说也会有这样的安全问题,当UNIX/Linux系统中的文件或是目录使用符号链接时,如果没有使用Options指令禁止对符号链接的跟随也会产生安全问题,例如:

<Directory /srv/Apache/html>
Order Deny , Allow
Deny from All
</Directory>

  在上面的例子中,如果 /srv/Apache 目录下的 html文件夹是链接到其他目录如 /root 的,那么,当用户访问 /srv/Apache/html/ 路径时则显示的是 /root 目录下的内容。

  

  对于<Directory>、<Files>、<Location>这三个容器来说,最好的方法就是使用<Directory>、<Files> 来控制文件系统,而<Location>容器则用来控制一个不存在于文件系统的对象,如果要更安全的控制则需要使用Options指令禁止对于符号链接的跟随。

最新文章

  1. SQLServer 获取第几周开始日期
  2. Visual Studio 2015出现Cannot find one or more components. Please reinstall the application.的问题解决
  3. Python画图笔记
  4. udhcpc命令【转】
  5. 10.23lamp环境
  6. C#单元测试
  7. pdf增加水印
  8. 在Activity中动态设置TextView的隐藏属性
  9. System timers granularity
  10. C#利用Lambda和Expression实现数据的动态绑定
  11. Java反射库中的安全漏洞在30个月后终于修复了(转)
  12. 解决C# WinForm 中 VSHOST.EXE 程序不关闭的问题
  13. (89C51)定时器计时1s
  14. 【T-SQL进阶】03.执行计划之旅-1
  15. eclipse与idea快捷键对比以及idea debug、git快捷键
  16. del_cursor 批量删除游标
  17. fluxion-wifi破解/钓鱼
  18. Android性能优化-App启动优化
  19. 怎样从外网访问内网Nginx?
  20. 各大语言性能对比PK数据

热门文章

  1. [原创] Laravel 启动流程
  2. rest-assured之认证授权(Authentication)
  3. bzoj 3261 最大异或和 可持久化字典树(01树)
  4. java中如何把图片转换成二进制流的代码
  5. Quartz .net 禁止并行触发
  6. 获取浏览器用户代理(user-agent)
  7. python 库 、包 、模块
  8. ORC Files
  9. VirtualBox 命令行操作
  10. mysql 导入 excel 数据