Laravel Secure Storage Route - PullRequest
       5

Laravel Secure Storage Route

0 голосов
/ 08 января 2019

Я использую функцию Storage :: url () для генерации ссылок на скачивание файлов внутри каталога хранилища, я также связал каталог хранилища с публичным каталогом, и все работает нормально.

Однако теперь любой человек может загружать файлы без какой-либо аутентификации. Как правильно защитить все маршруты, начиная с / storage / ....., без необходимости переписывать логику загрузки внутри моего контроллера?

1 Ответ

0 голосов
/ 08 января 2019

Вы должны добавить URL-адрес загрузки в качестве маршрута в свой файл rout.php:

Route::get('downloads/{file}','MyController@download')->where('file', '^[^/]+$')->middleware('auth');

конечно, не забудьте проверить, существует ли файл, после этого вы можете использовать

 $reponse()->download() 

чтобы вернуть ответ о загрузке. метод принимает 3 параметра: путь к файлу, имя файла и заголовки ответа HTTP.

для более подробной информации, проверьте это:

https://laravel.com/docs/5.7/responses#file-downloads

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...