在我的Codeigniter应用程序中,我有一个用于检查的身份验证方法,如果用户已登录。它基于会话cookie(标准CI方式),并且完全正常。
从每个控制器的构造函数调用此方法。
如果用户未登录,则身份验证方法会重定向到登录页面。
在应用程序中,还有一个上传文件的选项,上传部分也可以正常工作。 这些文件存储在服务器的一个特定目录中。但是,如果某人拥有上传文件的uri / url,即使没有登录该应用程序,他或她也可以访问该文件。因为它只是一个网址而且不是来自任何控制器,所以即使该人没有登录,任何人都可以访问它。
关于如何防止这种情况的任何想法。
由于
答案 0 :(得分:1)
尝试使用以下行在该文件夹中创建.htaccess文件:
Deny from all
如果需要下载文件,请创建一个控制器并使用下载帮助程序(force_download函数)。这将禁用所有类型的访问(因此您无法在网站中使用此文件,如果它们是您无法使用的图像)。