【问题标题】:CakePHP access restricted files after authentication认证后 CakePHP 访问受限文件
【发布时间】:2013-04-18 20:18:03
【问题描述】:

我有一个 ACL 控制的应用程序,它使用 Media plugin 将文件上传到 /app/webroot/media。上传文件时,会将目录名、基本名和文件名写入数据库。

我正在寻找一种方法来限制对/app/webroot/media的访问,允许用户在登录后仅查看与其用户ID关联的文件。目前,用户可以访问其他用户的文件,这并不理想.就 CakePHP 而言,是否有最佳实践?

【问题讨论】:

    标签: php .htaccess cakephp file-upload acl


    【解决方案1】:

    如果用户知道 url,则 webroot 下的任何文件都可以公开访问。将文件存储在 webroot 外部的文件夹中,然后使用 CakeResponse::file() 通过控制器操作呈现它们。这样您就可以根据需要控制对操作的访问。

    【讨论】:

    • 感谢 ADmad,这实际上就是我目前正在做的事情。是否可以通过 CakeResponse 发送响应来让图像在视图中自动呈现?
    • 我不明白你在问什么。如果您使用 CakeResponse::file() 渲染文件,则不需要任何视图。
    • 我有一个用于 CakeResponse::file() 和 CakeResponse::download() 动作的查看和下载按钮。如果文件是图像,我想要在按钮旁边向用户显示缩略图。
    • 我实际上只是将号召性用语放在 iframe src 字段中:)
    • 为什么选择 iframe?如果您正在渲染图像,只需将操作 url 作为 img 标签源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 2022-01-08
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多