如何保护文件,只能由Codeigniter或原始PHP中的某些用户下载?

Kam*_*mil 0 php codeigniter

我编写的Web应用程序具有很少的访问级别/组(未登录,工作人员,经理,管理员).

对于访问控制,我在这里使用类似于最佳答案的东西:

仅在Codeigniter中将特定页面限制为登录用户的最佳做法是什么?

现在我必须创建下载页面,只允许下载允许用于specyfic文件的组.现在我只为允许的用户显示链接,但我想我必须以某种方式隐藏真实的文件位置,因为浏览器会记住文件URL,任何人都可以在注销后没有任何问题地下载文件.

Kai*_*ing 5

您没有链接到真实文件.您链接到使用访问令牌进行验证的脚本,然后传递该文件.看到这个问题:

PHP Pass File Handle to user,以便文件下载并保存到他们的机器上

下载后,您可以使令牌过期,也可以只记录用户下载的次数并在其中应用适当的限制.

此外,将您的文件嵌套在Web根目录下,或确保无论您选择存储它们,都无法直接访问它们

是的,CI确实有一个帮手:

https://www.codeigniter.com/user_guide/helpers/download_helper.html