Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁止在没有.htaccess的情况下从Apache访问文件_Apache_.htaccess_Php - Fatal编程技术网

禁止在没有.htaccess的情况下从Apache访问文件

禁止在没有.htaccess的情况下从Apache访问文件,apache,.htaccess,php,Apache,.htaccess,Php,(LAMP服务器配置) 作为另一个问题的解决方法,我需要PHP能够访问本地文件,但防止Apache通过http提供这些文件 通常,我只会使用.htaccess来完成这项工作,但由于体制限制,我不能。我也不能触摸php.ini,尽管我可以在php中使用php_ini_集 作为一个创造性的解决方案,我认为如果php作为自己的linux用户(而不是apache)执行,我可以使用普通的chown和chmod来实现这一点 同样,目标只是拥有一个apache不会显示但php可以访问的文件目录 我愿意接受任何

(LAMP服务器配置)

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

通常,我只会使用.htaccess来完成这项工作,但由于体制限制,我不能。我也不能触摸php.ini,尽管我可以在php中使用php_ini_集

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

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


我愿意接受任何建议。

将文件放在可通过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
/sites
/sites/my.site.com

/sites/my.site.com/data/这里有一个想法。将文件上的权限设置为即使所有者也无法访问,然后在PHP需要时读取它们,然后将
chmod()
它们恢复为无法访问。

这是一个好主意,但由于存在其他限制,这可能不可能。..htaccess使用重写规则阻止所有非PHP文件?如果您无法访问服务器配置,这就有点不确定了。谢谢,这(如root awnser中所建议的)是我必须做的,如果没有其他工作。我不太愿意这样做,因为这会导致我的代码库发生重大变化。为什么文件的路径会“显著改变代码库”?功能不变。如果幸运的话,你只需要更改一个设置文件。它是一个继承的代码库,有很多硬编码的路径。就目前而言,我只需要让它工作调试,等等。。。我很感激你的回答。这绝对是教科书上的答案,我将在有时间重新编写错误代码后立即实现。chmod他们在php中?这可能行得通。相关文档:热爱黑客!工作完美<代码>//更改权限以允许访问chmod($full_filename,0600);$htmlstring=file\u get\u contents($full\u filename)//更改权限以重置访问chmod($full_filename,0100)
您可能希望在更改旧权限之前使用PHP的
fileperms()
函数来存储旧权限,然后在恢复时使用这些权限,这样就不会弄乱任何事情。