Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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
Php codeigniter文件夹上的htaccess支持用户登录状态_Php_.htaccess - Fatal编程技术网

Php codeigniter文件夹上的htaccess支持用户登录状态

Php codeigniter文件夹上的htaccess支持用户登录状态,php,.htaccess,Php,.htaccess,我想保护我的codeigniter项目中的上载文件夹 在此上载文件夹中,我的项目的每个用户都有一个子文件夹 范例 现在,我想确保如果用户登录,只有一种方式可以访问 所以我用htaccess文件进行编辑 用于上传/ # Disable directory browsing Options -Indexes 和子用户文件夹 <IfModule authz_core_module> Require all denied </IfModule> <IfModul

我想保护我的codeigniter项目中的上载文件夹

在此上载文件夹中,我的项目的每个用户都有一个子文件夹 范例

现在,我想确保如果用户登录,只有一种方式可以访问

所以我用htaccess文件进行编辑 用于上传/

# Disable directory browsing 
Options -Indexes
和子用户文件夹

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

要求全部拒绝
全盘否定
但它不起作用。有一次我无法访问全部,或者另一方面我可以访问所有

有没有可能知道我做错了什么,或者有没有更好的方法


非常感谢。

基于Rohit Bhadani的评论

我现在已将文件存储在根httpdocs文件夹之外


在我的项目中,我使用一个文件来检查用户对此文件的授权,然后accessfile将向用户输出调用的文件。

当您设置对all的权限时,这些更改可能会影响所有目录。你应该试着编码只更改一个目录。如果你想分离用户文件,那么你应该尝试将其上载到数据库(如果文件不大)。它们都是各种文件,包括大型视频文件,因此存储在数据库中似乎不是一个好方法。然后你应该亲自将文件存储在根目录上方或安全位置,然后有一个访问脚本(比如fetch_file.php),URL中有一个唯一的标识符(比如fetch_file.php?uid=1234)。如果用户被授权访问唯一id为1234的文件;从数据库中的位置详细信息提供文件,否则拒绝请求。这样,如果没有正确的权限,用户就无法访问该文件,因为它安全地存储在根目录之上,而根目录不应该从Internet访问。
<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>