Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Strefa ograniczonego downloadu
Forum PHP.pl > Forum > PHP
slawo123
Witam, chciałbym w swoim serwisie wprowadzić dział download z którego będą mogły korzystać wyłącznie userzy posiadający odpowiednie uprawnienia.

Wszystkie pliki będą znajdowały się w jakimś folderze do którego nie będzie dostępu z poziomu przeglądarki (htaccess).

Widziałbym to tak że user klika na dany link prowadzący do skryptu get.php?id=xxx a ten skrypt będzie pośredniczył pomiędzy userem a folderem z plikami lecz nie może to się odbyć za pomocą header("Location: ") ponieważ katalog będzie zabezpieczony.
W jaki sposób to zrealizować? Jakich funkcji użyć aby odczytać plik i go wysłać do przeglądarki?

Ostatecznie w grę wchodzi przetrzymywanie plików w bazie MySQL ale chyba wolałbym trzymać je w folderze...

Macie jakieś propozycje?
wrauk
wybaczcie prywatę, ale moja 'propozycja' jest taka: http://talen.jogger.pl/2009/09/20/blog-udo...m-uzytkownikom/

:-)
marcio
Cytat
W jaki sposób to zrealizować? Jakich funkcji użyć aby odczytać plik i go wysłać do przeglądarki?

Sprawdzjajac najpierw czy ktos jest zalogowany,ma odpowiedni uprawnienia i wyslac odpowiedni naglowki po czym wczytac plik za pomoca readfile() lub fopen(),fpassthru() i fclose() w trybie rb.
slawo123
Dzięki Panowie, użyję póki co readfile winksmiley.jpg
Brick
Inne proste rozwiązanie to nadawanie plikom unikalnej długiej nazwy - uniq (np: ie98o29dsi9910383ru8kd0s)i trzymanie ich w katalogu dostępnym dla www. W bazie przechowuje się oryginalną nazwę pliku oraz uniq.

Oczywiście ten kto raz pobrał plik może przekazać link do pliku innej osobie. Wszystko zależy jak bardzo mocne ma być zabezpieczenie przed pobraniem pliku.

Przypuszczam, że readfile może obciążyć serwer jeżeli będzie duży ruch na stronie i duże pliki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.