Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie plików po autoryzacji
Forum PHP.pl > Forum > PHP
jacek_pl
Przykładowo mam stronkę, do której mają dostęp różni użytkownicy, należący do różnych grup. Na stronie są zastosowane sesje i hasła przechowywane w bazie. Wszystkim użytkownikom jest wyświetlana taka sama treść strony. Na stronie są linki do materiałów, które można ściągnąć z mojej strony. Chcę, aby po kliknięciu na link tylko użytkownicy należący do określonej grupy mogli poberać ten plik.
Link mógłby wyglądać tak http://nazwadomeny.pl/plik.php?download=idPliku
Za pomocą pewnej funkcji mogę sprawdzić, czy dany użytkownik ma dostęp do tego pliku i zezwolić na pobranie tego pliku lub też nie. Problem jest w tym, że jeżeli użytkownik wpisze w URL-u bezpośredni adres pliku ( np. http://nazwadomeny.pl/sciezka/plik1.zip) to i tak go ściągnie, nawet bez uwierzytelnienia. Zastanawiałem się nad użyciem .htaccess-a. Problem w tym, że .htaccess sprawdza kto ma uprawnienia do katalogu na podstawie pliku tekstowego, a ja mam informację o grupach, użytkownikach i hasłach w bazie danych mysql. Czy można zmusić htaccess-a aby nie korzystał z pliku z hasłami, a korzystał z mojej funkcji w php?
W jaki sposób można rozwiązać ten problem?
Interesuje mnie przede wszystkim merytoryczne rozwiązanie problemu.
dr_bonzo
Cytat
Problem jest w tym, że jeżeli użytkownik wpisze w URL-u bezpośredni adres pliku ( np. http://nazwadomeny.pl/sciezka/plik1.zip) to i tak go ściągnie, nawet bez uwierzytelnienia.


Nie umieszczasz plikow w drzewie katalogu DocumentRoot (np. /home/user/html) -- wtedy user nie dostanie sie do tych plikow przez wpisanie adresu. Umiesc je poza tym katalogiem (np. /home/user/download) i wysylaj pliki za pomoca php (fopen, read, echo, odpowiednie headersy -- jest gdzies o tym na forum itd.).
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.