Súkromné fotografie a úložisko
Nastavte photos.visibility na private a každá fotografia sa bude servírovať výlučne cez krátkodobé podpísané URL — nikdy nie cez verejné:
REVIEWS_PHOTOS_VISIBILITY=private
REVIEWS_PHOTOS_PRIVATE_DISK=local
# Or pin every photo to one explicit, non-public disk:
REVIEWS_PHOTOS_DISK=s3-privateKaždá čítacia metóda určuje URL podľa viditeľnosti konkrétnej fotografie. Verejné fotografie dostanú verejné URL (vhodné pre CDN); súkromné podpísané URL — na diskoch, ktoré to podporujú, predpodpísané, inak cez podpísanú streamovaciu routu Media Library. Platí to pre firstPhotoUrl(), photoUrls(), resolvePhotoUrl(), photoSrcset(), responsivePhotos() aj ReviewResource:
// With photos.visibility = private, every reader returns short-lived signed URLs.
$review->firstPhotoUrl(); // signed, never a public URL
$review->photoUrls(); // each one signed
$review->responsivePhotos(); // <img> tags whose src and srcset are signed
// Choose your own expiry for one link (variant, expiry):
$review->firstPhotoTemporaryUrl('', now()->addMinutes(30));Platnosť podpísaných odkazov sa predvolene riadi hodnotou media.temporary_url_default_lifetime z Media Library (5 minút). responsivePhotos() vygeneruje rovnaký <img> tag ako Media Library — najmenšia vygenerovaná šírka ako src, všetky šírky v srcset, sizes, alt, class a rozmazaný náhľad — všade s podpísanými URL.
Kam sa fotografie ukladajú
| photos.disk | photos.visibility | Originály | Varianty |
|---|---|---|---|
| nastavený | ľubovoľná | photos.disk | media.variants_disk, ak je nastavený, inak photos.disk |
| null | private | photos.private_disk (local) | photos.private_disk — vždy, bez ohľadu na media.variants_disk |
| null | public | predvolený disk media-library (media.disk) | media.variants_disk, ak je nastavený, inak media.disk |
Súkromné fotografie sa nikdy neuložia na predvolený verejný disk Media Library, kde je po storage:link všetko dostupné pod /storage — jedinou cestou k nim je podpísané URL. Ak photos.disk nastavíte explicitne, použije sa pre všetky originály, preto musí byť neverejný, kým sú fotografie súkromné — a ak máte nastavený aj media.variants_disk, musí byť neverejný aj ten, pretože varianty sa ukladajú naň.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.