使用apache / php拒绝直接访问文件夹中的任何文件

时间:2013-05-30 23:01:29

标签: php javascript mysql apache lamp

这似乎是一个重复的问题,但我已经尝试过在类似问题中给出的解决方案。

我想限制访问我的apache服务器上的几个文件夹中的文件,这样它们只能通过php脚本提供给登录到我系统中应该有权访问任何特定文件夹的部分的用户。

其他解决方案建议使用.htaccess

deny from all
allow from 127.0.0.1

但这似乎拒绝了所有地方的文件。包括本地的php脚本。

我正在考虑.htpasswd,但这是一个额外的用户凭证级别需要被处理,我宁愿避免这种情况。

我该如何解决这个问题?有没有更好的存储文件的方法?

2 个答案:

答案 0 :(得分:0)

htaccess无法使用include / require函数拒绝通过php访问文件。如果您的php include没有访问该文件,则问题是该文件的路径。

答案 1 :(得分:0)

不知何故,php被

限制
deny from all
allow from 127.0.0.1

在受影响的文件夹中包含和要求文件。这违背了我从apache文档中读到的应该如何工作,我没有真正的答案为什么。问题在我使用Xampp的本地主机和webhotel one.com上都存在。

我原来的问题很糟糕,因为我使用require来测试当我真正想要使用readfile时是否具有对该文件夹的读取权限。

我主要担心的是我想从一个无法访问的目录中提供下载文件。

readfile($filename);

仍然可以访问这些文件。

这个问题的灵魂在于我意识到readfile()和include()somhow获得了不同的权限。我在任何文档中都找不到这个。