![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 13.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
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.). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 23:07 |