不使用.htaccess阻止从Apache访问文件

时间:2012-05-14 20:29:03

标签: apache .htaccess php

(LAMP服务器配置)

作为另一个问题的解决方法,我需要PHP能够访问本地文件,但是防止这些文件由Apache提供给http。

通常情况下,我会使用.htaccess来实现这一目标,但由于制度上的限制,我不能。我也无法触摸php.ini,虽然我可以在php中使用php_ini_set。

作为一个创造性的解决方案,我认为如果php作为自己的linux用户(而不是apache)执行,我可以使用普通的chown和chmod来完成此任务。

同样,目标只是拥有一个apache不会显示的文件目录,但是php可以访问。

我愿意接受任何建议。

2 个答案:

答案 0 :(得分:5)

将文件置于Web可访问的根目录(DocumentRoot)之外,但可以通过PHP访问它们。

建议:

/sites
/sites/my.site.com
/sites/my.site.com/data  // <-- data goes here
/sites/my.site.com/web   // <-- web root is here

答案 1 :(得分:2)

这是一个想法。将文件的权限设置为即使是所有者也无法访问,然后当PHP需要它们时,chmod()然后阅读它们,然后chmod()将它们恢复为无法访问。