Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Czy widzicie jakieś zagrożenia aby np. API zwracało bezpośredni url do pliku na dysku.
Mówię o plikach niepublicznych np. pochodzących z uploadu. https://example.pl/upload/type/2ds8k79ikt00gapule6h.docx Czyli zabezpieczeniem jest sama randomizacja - skoro ktoś poznał link miał do pliku dostęp, więc równie dobrze mógł do pobrać i dystrybuować poza moim portalem. Wiem, że można zrobić metodę do pobierania za pomocą np. id pliku, z pełną autoryzacją itp. ale na serwerze jest nginx i fajnie by serwować pliki bez użycia aplikacji tylko czy niesie to jakieś zagrożenia. Np. sprawdziłem jak FB to robi na grupie tajnej i np. https://lookaside.fbsbx.com/file/Instrukcja...kP8JOknG6q_Fiwg To link, który jakiś czas działał każdemu, nawet niezalogowanym. Po jakimś czasie przestał działać. Czyli autoryzacja na ich serwerze z statycznymi zasobami jest wydzielona od autoryzacji typowo aplikacyjnej. Ten post edytował markonix 23.10.2018, 19:13:26 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Wszystko zależy od tego jak bardzo chcesz utrudnić życie osobom, które nie mają uprawnień do pobrania pliku. Tak naprawdę masz dwie możliwości - "losowy" link oraz stare, dobre logowanie.
W pierwszym przypadku ktoś może udostępnić link i nic z tym nie zrobisz. Co więcej, jeśli "losowy" adres można dopasować do jakiegoś wzorca, stworzenie crawlera wyciągającego wszystkie pliki to tylko kwestia czasu. Logowanie do konta będzie wymagało jakiejś interakcji z serwerem. Na podstawie id/klucza/hasha/czegokolwiek będziesz mógł zidentyfikować plik, a następnie przepuścić go przez logowanie. Co do Twojego przykładu z Facebookiem w tle. Na szybkiego jestem w stanie podać kilka możliwych scenariuszy: - po pewnym czasie plik został usunięty (cron/kolejki/cokolwiek). Serwer wykrywa request do nieistniejącego pliku i przekierowuje do "skryptu" serwującego pliki. Skrypt wymaga logowania. - plik po uploadzie automatycznie trafił do cache'u z ustawionym lifetime. Link udostępniony użytkownikowi wskazuje na cache. Po wygaśnięciu cache'u request jest przekierowany do skryptu z logowaniem - serwer z plikami statycznymi korzysta z microservice, która weryfikuje użytkownika. |
|
|
|
markonix Czy zwracanie linku do pliku jest bezpieczne 23.10.2018, 19:12:13
markonix No właśnie crawlera bym się obawiał - jest to jede... 24.10.2018, 10:26:48
Pyton_000 Możesz użyć https://hashids.org/php/ i ustalić jak... 24.10.2018, 11:42:21
markonix Korzystam do robienia ładniejszych linków i żeby u... 24.10.2018, 13:04:27
Pyton_000 Zakładając że masz link http://domain.com/assets/i... 24.10.2018, 13:30:22
markonix No jak już to mam:
https://domain.com/assets/2ds8k... 24.10.2018, 14:24:50
Pilsener CytatCzy widzicie jakieś zagrożenia - wiele, ale m... 24.10.2018, 19:51:58 
markonix Cytat(Pilsener @ 24.10.2018, 20:51:58... 24.10.2018, 23:16:48
Pilsener CytatJakiego typu to rozwiązania? Na jakim poziomi... 27.10.2018, 11:51:46
markonix Cytat(Pilsener @ 27.10.2018, 12:51:46... 30.10.2018, 01:13:13 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 21:49 |