Только ваша папка public
(с index.php
) должна быть доступна, это каталог root (иногда каталог называется public_html
).
Любые каталоги вне этого (например, storage
/ app
/ vendor
et c.) Должен быть недоступен по URL.
«Все» должно сначала go до index.php
, если вы хотите сохранить контроль над своими файлами. Таким образом, для обслуживания активов, таких как storage/app/files/xxx.png
, вы должны использовать контроллер. Этот код может выглядеть примерно так:
// SomeController.php
public function showAvatar(Request $request)
{
// Select the `local` disk as defined in `config/filesystems.php`.
$disk = Storage::disk('local');
return response()->file($disk->path('files/xxx.png'));
}
Затем вы можете использовать промежуточное программное обеспечение или другой код для ограничения этих файлов.