Jak znepřístupnit obrázek nepřihlášenému uživateli?
- Meedoo
- Člen | 11
Ahoj,
v aplikaci mám uživatelské účty a každý účet si může přidávat soukromé obrázky, které se pak zobrazují v přehledu uživatele. Po kliknutí na obrázek se zobrazuje obrázek na bílé stránce (na url: ../files/název_obrazku). Přes tuto url má každý (i nepřihlášený uživatl) přístup k tomuto obrázku.
Můj dotaz tedy je, jak docílit toho, aby si ho mohl zobrazit jen přihlášený uživatel, který si tento obrázek nahrál?
Děkuji!
- Kamil Valenta
- Člen | 820
Neodkazuj přímo na obrázek, ale na akci presenteru s parametrem, podle parametru pošleš FileResponse s daným obrázkem.
Uploadnuté obrázky udržuj mimo www adresář, aby se k nim nikdo nedostal přímo přes URL.
- Andy3
- Člen | 15
Trochu čistčí řešení je X-Sendfile https://tn123.org/mod_xsendfile/. Nginx by měl mít něco
obdobného.
Používá se u velkých souborů. Na ty obrázky asi
FileResponse stačí.
P.S. Velké soubory jdou servírovat i přes PHP za pomomci flush() a ob_flush().
Editoval Andy3 (7. 6. 2019 1:08)