3

在我的 Codeigniter 应用程序中,我有一个身份验证方法来检查用户是否已登录。它基于会话 cookie(标准 CI 方式)并且运行良好。

这个方法是从每个控制器的构造函数中调用的。

如果用户没有登录,认证方法重定向到登录页面。

在应用程序中,还有一个上传文件的选项,上传部分也可以正常工作。这些文件被存储到服务器中的一个特定目录中。但是,如果有人拥有上传文件的 uri/url,即使不登录应用程序,他或她也可以访问该文件。由于它只是一个 url 并且不来自任何控制器,因此即使该人未登录,任何人都可以访问它。

关于如何防止这种情况的任何想法。

谢谢

4

1 回答 1

1

尝试在该文件夹中创建一个 .htaccess 文件,其中包含以下行:

Deny from all

如果您需要下载文件,请创建一个控制器并使用下载助手(force_download 函数)。这将禁用所有类型的访问(因此您不能在网站中使用此文件,如果它们是图像,则不能与它们一起使用)。

于 2013-07-02T06:36:24.003 回答