处理文件访问限制的最佳方法是什么?目标是仅允许对其作者访问某些上传文件。
我决定将文件保存在/ protected / files文件夹中,我想知道返回这些文件的最佳方法是什么。
可能的方法之一是创建db,如:
id, user_id, name, path
。
具有特定user_id的用户可以通过/resource/name.jpg(具有名为ResourceController的通用控制器)等请求访问他的文件
第二种方法是在没有ResourcesController的情况下存储id, name, path
。在每个其他控制器(需要访问用户文件)中创建一个将执行访问控制的操作。
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()
}
答案 0 :(得分:2)
在这种情况下,使用图像保存user_id是最好的,最小点击数据库。