• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dostęp do plików, filmów PHP

Hosting forpsi easy 1 pln
0 głosów
226 wizyt
pytanie zadane 12 lutego 2019 w PHP przez _Visni4PL_ Obywatel (1,320 p.)
Witam! Potrzebuję dać dostęp do filmów, plików na stronie www osobom, które są zalogowane bądź kupiły dostęp (jeszcze nie wiem jak to rozwiążę). I poradzę sobie z wyświetleniem filmiku i pobieraniem plików, ale tu nasuwa się problem, co jeśli ktoś wpisze w adresie strony strona.com/filmik.mp4 lub strona.com/plik.exe? Chodzi mi o sytuację, gdy ktoś spróbuje wyszukać plik ręcznie na serwerze, jak powinienem go przechowywać, aby był bezpieczny? Na innym serwerze? Dziękuję za każdą odpowiedź.
komentarz 13 lutego 2019 przez MsMaciek123 Pasjonat (24,760 p.)
Tylko sobie jeszcze dodaj w regulaminie informacje że rozpowszechnianie filmu (lub jego części) osobom nie zalogowanym jest zabronione. Bo co gdyby ktoś kupił wszystkie twoje filmy i stworzył stronę, gdzie te filmy były by za darmo?

2 odpowiedzi

+1 głos
odpowiedź 13 lutego 2019 przez Tnifey Pasjonat (24,190 p.)

nie powinieneś trzymać takich rzeczy w katalogu publicznym.

możesz zwrócić taki plik w response z odpowiednimi headerami sprawdzając wcześniej czy użytkownik jest zalogowany i ma dostęp do danego pliku :) w takiej sytuacji niepowołane osoby nie mają bezpośredniego dostępu do pliku, a tym bardziej nie mogą sobie ot tak przeglądać plików (na produkcji ta opcja powinna być wyłączona na serwerze)

komentarz 13 lutego 2019 przez _Visni4PL_ Obywatel (1,320 p.)
Ok dzięki :)
komentarz 13 lutego 2019 przez Ehlert Ekspert (210,670 p.)

@Tnifey, to niestety w php kiepski pomysł. W php żeby robić takie rzeczy należy zwracać do klienta tzw stream response. W technologii synchronicznej to najkrótsza droga do zajechania serwera.

komentarz 14 lutego 2019 przez _Visni4PL_ Obywatel (1,320 p.)
Zgadzam się z Tobą. Moim zdaniem najlepiej jest połączyć PHP z Node.js :).
+1 głos
odpowiedź 13 lutego 2019 przez Ehlert Ekspert (210,670 p.)
Taki dostęp najlepiej realizować w node. Na poziomie aplikacji w php generujesz jakiś token dostępowy. Może on być zapisany w bazie, całkiem spoko rozwiązaniem jest też stateless token. Request z takim tokenem idzie do node. Prosty serwis w node weryfikuje prawo dostępu do danego zasobu. Sprawdza czy token jest dobrze podpisany, lub czy istnieje w bazie. Potem zaczynasz streaming.
komentarz 14 lutego 2019 przez _Visni4PL_ Obywatel (1,320 p.)
Dobry pomysł, dziękuję za odpowiedź :)

Podobne pytania

0 głosów
2 odpowiedzi 449 wizyt
+1 głos
2 odpowiedzi 188 wizyt
pytanie zadane 17 kwietnia 2021 w PHP przez <Hunter> Początkujący (430 p.)

92,080 zapytań

140,736 odpowiedzi

317,696 komentarzy

61,401 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat aż -50% (w dniach 24.11 - 29.11 z okazji Black Friday, a potem będzie to -30%) na bilety w wersji "Standard"! Więcej informacji na temat akademii znajdziecie tutaj. Dziękujemy Sekurakowi za tak fajną zniżkę dla Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 15% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...