认证后CakePHP访问受限文件

认证后CakePHP访问受限文件,php,.htaccess,cakephp,file-upload,acl,Php,.htaccess,Cakephp,File Upload,Acl,我有一个ACL控制的应用程序,它使用将文件上载到/app/webroot/media。上载文件时,会将dirname、basename和文件名写入数据库 我正在寻找一种方法来限制对/app/webroot/media的访问,允许用户仅在登录后查看与其用户id关联的文件。目前,用户可以访问其他用户的文件,这一点都不理想。就CakePHP而言,是否有最佳实践 如果用户知道url,则webroot下的任何文件都可以公开访问。将文件存储在webroot外部的文件夹中,然后使用控制器操作渲染它们。通过这种

我有一个ACL控制的应用程序,它使用将文件上载到
/app/webroot/media
。上载文件时,会将dirname、basename和文件名写入数据库


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

如果用户知道url,则webroot下的任何文件都可以公开访问。将文件存储在webroot外部的文件夹中,然后使用控制器操作渲染它们。通过这种方式,您可以根据需要访问操作。

谢谢ADmad,这正是我目前正在做的。是否可以通过CakerResponse发送响应,让图像在视图中自动渲染?我不明白你在问什么。如果使用CakerResponse::file()呈现文件,则不需要任何视图。我为CakerResponse::file()和CakerResponse::download()操作提供了一个查看和下载按钮。如果文件是图像,我希望在按钮旁边向用户显示一个缩略图。实际上,我只是在一个iframe src字段中发出了对操作的调用:)为什么是iframe?如果要渲染图像,只需将动作url作为img标记源。