Php 限制用户对目录的访问

Php 限制用户对目录的访问,php,.htaccess,security,Php,.htaccess,Security,我正在为一个小网站编写代码,供会员登录。每个成员都有一个专用文件夹,我想知道如何在用户登录时拒绝除用户之外的所有人访问此文件夹 现在,我已经设置了这样的东西: 1每个文件夹都有一个.htaccess,并且拒绝来自所有文件夹 2当用户登录时,我使用PHP识别用户并获取他的文件夹。我获取用户的IP地址,并使用编辑.htaccess 命令拒绝,允许 全盘否定 允许从178.197.XXX.XXX开始 3一旦用户注销,我会再次将.htaccess重置为拒绝来自所有用户 有更好的办法吗?是否存在安全风险?

我正在为一个小网站编写代码,供会员登录。每个成员都有一个专用文件夹,我想知道如何在用户登录时拒绝除用户之外的所有人访问此文件夹

现在,我已经设置了这样的东西:

1每个文件夹都有一个.htaccess,并且拒绝来自所有文件夹

2当用户登录时,我使用PHP识别用户并获取他的文件夹。我获取用户的IP地址,并使用编辑.htaccess

命令拒绝,允许 全盘否定 允许从178.197.XXX.XXX开始

3一旦用户注销,我会再次将.htaccess重置为拒绝来自所有用户


有更好的办法吗?是否存在安全风险?

不要使用IP。一个用户不等于一个IP

将文件夹存储在web服务器的文档根目录之外。这样,web服务器本身就无法直接为文件提供服务

也就是说,不要像这样直接提供文件http://my.site.com/path/to/actual/file. 相反,需要通过代理PHP脚本请求文件,如http://my.site.com/getfile.php?file=name. 该脚本将检查用户是否已登录,检查该用户的目录中是否存在名为name的文件,然后使用readfile或类似命令将其输出

此外,一般来说,web服务器进程运行时的用户不应写入文件,尤其是.htaccess文件