使用php拒绝访问某些文件夹

时间:2010-03-18 04:56:24

标签: php

是否有可能使用php“拒绝所有”apache htaccess风格。

我不能使用htaccess,因为即时通讯使用不同的webserver,所以我不想使用php来解决它。

因此,假设用户正在尝试访问文件夹名称“david”,则拒绝查看所有内容和子目录。

4 个答案:

答案 0 :(得分:3)

没有
PHP不能用于保护文件夹 因为服务请求的不是PHP,而是Web服务器

您可以在Document Root上方移动此目录,以防止Web访问它。

但是提交将无助于你

答案 1 :(得分:1)

使用chmod更改该目录的权限。请注意,运行PHP的用户需要拥有它。

答案 2 :(得分:1)

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

<?php
   header("Location: /"); // redirect user to root directory

答案 3 :(得分:0)

没有来自网络服务器的合作,保护文件的唯一方法是

  • 加密,在存档中,也许,其中您的脚本会知道密码并告诉任何人 - 最终会浪费cpu作为服务器将一直解密,或

  • 使用令人难以置信的错误文件命名方案,这是一个你永远不会向任何人描述的文件命名方案,而且只有你的php脚本可以排序。

    < / LI>

可以下载静态数据,带宽浪费,加密文件解密。

这完全取决于数据的重要程度。你的时间成本是多少,因为这些错综复杂的模糊层可能会占用大量的开发人员时间。

现在,正如我所说的......如果没有来自网络服务器的合作,那将是 ...但是如果网络服务器正在合作但不知道呢? < / p>

我见过一些apache网络服务器,(有人可以确认它在标准发行版中吗?),例如,预装了规则,拒绝访问以.ht 开头的文件,而不是仅.htaccess,但所有内容类似:.htproxy, .htcache, .htwhatever_comes_to_mind, .htyourmama...
有可能你的服务器就是其中之一。

如果是这种情况......重命名隐藏文件.hthidden-<filename1>,.hthidden-<filename2>...,您只能通过php文件函数访问它们,例如readfile()