使用php拒绝访问特定文件夹

使用php拒绝访问特定文件夹,php,Php,是否可以使用php拒绝所有apache htaccess样式 我不能使用htaccess,因为我使用的是不同的Web服务器,所以我不想使用php来解决这个问题 假设用户试图访问名为“david”的文件夹,所有内容和子目录都被拒绝查看。用于更改该目录的权限。请注意,在这种情况下,运行PHP的用户需要拥有它。否 PHP不能用于保护文件夹。 因为服务请求的不是PHP,而是web服务器 您可以将此目录移动到文档根目录上方,以阻止web访问它 但是premissions对您没有任何帮助如果您只是想阻止对文

是否可以使用php拒绝所有apache htaccess样式

我不能使用htaccess,因为我使用的是不同的Web服务器,所以我不想使用php来解决这个问题

假设用户试图访问名为“david”的文件夹,所有内容和子目录都被拒绝查看。

用于更改该目录的权限。请注意,在这种情况下,运行PHP的用户需要拥有它。

否 PHP不能用于保护文件夹。 因为服务请求的不是PHP,而是web服务器

您可以将此目录移动到文档根目录上方,以阻止web访问它


但是premissions对您没有任何帮助

如果您只是想阻止对文件夹进行索引,您可以创建一个index.php文件来执行简单的重定向。注意:具有有效文件名的请求仍将被允许通过

<?php
   header("Location: /"); // redirect user to root directory
如果没有Web服务器的合作,保护文件的唯一方法是

为了加密它们,在一个存档中,也许,你的脚本会知道密码并且不会告诉任何人-这将浪费cpu,因为服务器将一直解密它,或者

使用一个异常混乱的文件命名方案,一个你永远不会向任何人描述的文件命名方案,并且只有你的php脚本才能排序

仍然可以下载数据,浪费带宽,解密加密文件

这完全取决于数据的重要性。以及您的时间成本,因为这些复杂的有点难以穿透的混淆层可能会占用开发人员大量的时间

现在,正如我所说。。。如果没有网络服务器的合作。。。但是如果Web服务器正在合作而不知道呢

我见过一些apache Web服务器,有人能确认它在标准发行版中吗?例如,预加载了一条规则,该规则拒绝访问以.ht开头的文件,不仅是.htaccess,而且是所有类似的文件:.htproxy、.htcache、.htwhich,无论你想到什么,.htyourmama。。。 你的服务器可能就是其中之一


如果是这样的话。。。重命名隐藏文件.hthidden-,.hthidden-。。。只有通过php文件函数才能访问它们,比如readfile

文件权限不能处理这个问题吗?除了更改目录权限之外,php不能处理这个问题。如果没有web服务器或操作系统权限阻止它,只要有人能猜出文件名,它就是他们的。你在用什么网络服务器?@mimisbrunr:是的,它可以处理。阻止PHP访问此文件夹。我怀疑它能帮上什么忙。那又怎样?为什么不直接从磁盘上删除这个目录呢?现在你把我弄糊涂了。什么目录?为什么要擦东西?mckenzie问的目录。将其权限设置为拒绝webserver读取等同于从磁盘中擦除其内容。只有当php以不同于apache的用户身份运行时,这才有效。这也意味着它是某种cgi或快速cgi,不是apache模块,访问文件的权限集与apache let's day使用的权限集不同apache使用的是另一个集合和php组集合这是一个奇怪的服务器配置,从系统管理员的角度来看,它有一些缺点。在windows服务器ACL上可能有意义,尽管如此,这将等同于选项-索引,而不是全部否定。虽然它仍然可能是mckenzie的意思。我确认.ht*排除在标准发行版中,并且是以排除.htaccess和.htpasswd文件的方式设计的