ファイルアクセスの制限に対処するための最良の方法は何ですか?目標は、アップロードされた特定のファイルへのアクセスをその作成者のみに許可することです。
ファイルを/protected/ filesフォルダーに保存することにしましたが、これらのファイルを返すための最良の方法は何でしょうか。
考えられるアプローチの1つは、次のようなデータベースを作成することです
id, user_id, name, path
。したがって、特定のuser_idを持つユーザーは、/ resource / name.jpg(ResourceControllerという名前の共通コントローラーを持つ)のようなリクエストを介して自分のファイルにアクセスできます。
2番目のアプローチは、
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() }