Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pliki do pobrania po zalogowaniu.
Forum PHP.pl > Forum > PHP
windman
Witam,

chciałem zapytać czy macie jakieś uwagi do niżej opisanego mechanizmu zabezpieczenia plików do pobierania.

Pliki znajduja się w katalogu z .htaccess, nikt nie ma dostępu.
Po zalogowaniu plik pobierz.php czyta z zabezpieczonego katalogu pliki za pomocą funkcji fopen() + fread(). To co odczyta wysyła do przeglądarki z odpowiednim nagłówkiem.
Nie jestem pewien czy jest to dobre rozwiązanie w przypadku dużych plików... co sądzicie?

Pozdrawiam
erix
W przypadku dużych plików IMHO najlepsze by było dynamiczne generowanie dowiązań symbolicznych na poziomie systemu plików.

Oczywiście dowiązania leciałyby po pseudolosowych nazwach.

A jeśli chodzi o Twoje rozwiązanie - zależy od zużycia pamięci, ale demon serwera zawsze będzie lepiej wysyłał pliki statyczne niż generowane dynamicznie.
sowiq
Cytat(windman @ 16.07.2009, 16:37:34 ) *
Po zalogowaniu plik pobierz.php czyta z zabezpieczonego katalogu pliki za pomocą funkcji fopen() + fread(). To co odczyta wysyła do przeglądarki z odpowiednim nagłówkiem.
Zakładając, że jednak nie udostępniasz obrazów płyt DVD a liczba jednoczesnych pobierań nie będzie większa niż... kilka, uważam Twoje rozwiązanie jest dobre.
Oczywiście musisz zwrócić szczególną uwagę na kwestie bezpieczeństwa. Poczytaj o LFI i RFI.
windman
Cytat(sowiq @ 16.07.2009, 17:00:47 ) *
Zakładając, że jednak nie udostępniasz obrazów płyt DVD a liczba jednoczesnych pobierań nie będzie większa niż... kilka, uważam Twoje rozwiązanie jest dobre.
Oczywiście musisz zwrócić szczególną uwagę na kwestie bezpieczeństwa. Poczytaj o LFI i RFI.


Pliki to będą głównie małe pdfy, word excel itp.
Do odczytania zawartości pliku podałem funkcję fread(), wydaje mi się, że do tego lepsza jednak będzie file_get_contents()... jak myślicie?

Fitrowanie danch wejściowych to oczywiście podstawa... dzięki za link, ciekawy artykuł!
erix
Właśnie w tym konkretnym przypadku nie file_get_contents" title="Zobacz w manualu PHP" target="_manual. Lepiej porcjować.
windman
Cytat(erix @ 16.07.2009, 19:14:41 ) *
Właśnie w tym konkretnym przypadku nie file_get_contents" title="Zobacz w manualu PHP" target="_manual. Lepiej porcjować.

Faktycznie... przy większych plikach fread() jest lepszym rozwiązaniem.

Dzięki za pomoc i pozdrawiam!
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.