PHP里面的目录限制控制小问题(apache)

在apache里面 httpd.conf里面有一个配置块

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
#
DocumentRoot  "xxxxx"

<Directory />
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
    Options FollowSymLinks
</Directory>

主要就是用来控制目录访问啊权限什么的。没定义好 就可能是安全隐患了

Indexes 就是设置的允许目录浏览。就是指定了访问某个目录但是没有指定具体文件,并且目录不存在默认文档,那就会返回真个目录内容。

 

AllowOverride none 是设置.htaccess文件中的指令类型 (none 表示禁止使用.htaccess来处理)


AllowOverride选项用于定义位于每个目录下.htaccess(访问控制)文件中的指令类型。基于安全和效率的原因,虽然可以通 过.htaccess来设置目录的访问权限,但应尽可能地避免使用.htaccess文件,所以一般将AllowOverride设置为”None”,即 禁止使用.htaccess文件,而将目录权限的设置放在主配置文件httpd.conf的<Directory> 和</Directory>语句之间。

因为我们的配置是AllowOverride  All 那么表示启用.htaccess文件

再来看一下 .htaccess里面关键内容

RewriteRule ^(.*)App/Tpl/(.+).html$  / [NC,F]

这里NC表示 ignore case  F表示FORBIDEN 就是禁止。

也就是说访问 App/Tpl *下面的html都是被禁止的。因为这里面的html很可能是模板

AllowOverride 设置为 none 或者  .htaccess去掉 RewriteRule ^(.*)App/Tpl/(.+).html$  / [NC,F] 那么所有的Html文件就都可以被访问了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值