处理文件访问限制的最佳方法是什么?目标是只允许其作者访问某些上传的文件。
我决定将文件保存在 /protected/files 文件夹中,我想知道返回这些文件的最佳方式是什么。
一种可能的方法是创建数据库,如:
id, user_id, name, path
.因此具有特定 user_id 的用户可以通过 /resource/name.jpg 之类的请求访问他的文件(具有名为 ResourceController 的公共控制器)
第二种方法是在
id, name, path
没有 ResourcesController 的情况下只存储。在每个其他控制器(需要访问用户文件)中创建一个将执行访问控制的操作。function actionMessageImage() { $message_id = $_GET['message_id']; $model = Message::model()->find( ... check user_id for access control) $file = File::model()->findByPk($model->file_id) // then make request such as $file->get(); that performs readFile() }