@EVOSandru6

Какие есть способы для сокрытия статических файлов в Laravel, желательно в рамках локального хранилища без сторонних API?

Привет, ребят.

Какие есть способы для сокрытия статических файлов ( например картинки, к которым обращаемся по адресу /images/secret/1.jpg ) для неавторизованных пользователей?

Чтобы только авторизованные могли смотреть, желательно с ролью админа.

Были мысли что вероятно возможно определенным образом закрыть общий путь до картинок и неким образом толкать эти картинки на уровне роутов. МБ еще к этой истории какой-то ъэш в адрес добавлять.
Но до конца не допедаливаю - как это сделать с минимизацией костылей.

Важно, чтобы с нешних ресурсов и для неавторизованных пути к данным файлам были закрыты.

Конфигурация filesystems.php:

return [
    'default' => 'local',

    // Не использую
    'cloud' =>  's3',

    'disks' => [
        'local' => [
            'driver' => 'local',
            'root' => public_path(),
        ],
        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL') . '/storage',
            'visibility' => 'public',
        ],

        // Не использую
        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],
    ],
];
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
glaphire
@glaphire
PHP developer
Без привязки к фреймворку - просто хранить файлы в директории, к которой нет прямого доступа на уровне сервера (т.е. по-сути любая, кроме public), создать эндпоинт (экшен контроллера), который будет брать из этой папки файл и возвращать, ну и добавить внутри эндпоинта проверку на права доступа к файлу, т.е. никакие сторонние апи тут не нужны
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы