Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Blokowanie dostępu do plików na serwerze
Forum PHP.pl > Forum > Przedszkole
konraddo
obecny projekt nad którym pracuje polega na tym, że użytkownik po zalogowaniu do panelu posiada swoje prywatne pliki, które nie mogą być podglądane przez innych użytkowników, bądź innych osób którzy po prostu wpiszą sobie w adresie przeglądarki URL do pliku

problem polega na tym jak można zablokować dostęp do plików na serwerze, dla osób niezalogowanych (znających URL pliku), a jak udostępnić dostęp dla właściciela oraz administratora

jakieś pomysły?
webdice
Stwórz sobie plik .htaccess z uwierzytelnianiem Auth.

Przenoszę na Przedszkole.
konraddo
Cytat(webdicepl @ 13.05.2008, 16:02:52 ) *
Stwórz sobie plik .htaccess z uwierzytelnianiem Auth.

sytuacja wtedy bedzie wygladala tak ze po zalogowaniu sie uzytkownika standardowo przez formularz do logowania, przejdzie do listy swoich plików, kliknie na link zeby go sciagnąć i wyskoczy mu okienko z autoryzacja przez plik htaccess, co jest zupelnie zbędne, bo już raz się logował

więc czy jest jakiś sposób aby zintegrować zwykłe logowanie przez php'a oraz autoryzację przez .htaccess??
Pilsener
Pierwszy pomysł jaki mi przyszedł do głowy, to aby dostęp do plików był tylko z aplikacji, natomiast pobieranie zrobić nie "klikam w link i mam" tylko wysłać plik bezpośrednio do przeglądarki. Nie mam doświadczenia w tej dziedzinie, ale pewnie są jakieś darmowe skrypty/tutoriale uploadu/downloadu - można zobaczyć, jak sobie tam z tym radzą.

Drugi pomysł to taki, aby trzymać pliki w bazie - jednak tutaj też moje doświadczenia są znikome.
konraddo
Cytat(Pilsener @ 13.05.2008, 22:06:26 ) *
Pierwszy pomysł jaki mi przyszedł do głowy, to aby dostęp do plików był tylko z aplikacji, natomiast pobieranie zrobić nie "klikam w link i mam" tylko wysłać plik bezpośrednio do przeglądarki. Nie mam doświadczenia w tej dziedzinie, ale pewnie są jakieś darmowe skrypty/tutoriale uploadu/downloadu - można zobaczyć, jak sobie tam z tym radzą.

Takie rozwiązanie byłoby chyba najlepsze, wszystkie pliki byłyby poza obszarem dostępnym dla przeglądarki (.htaccess), a ściąganie odbywałoby się przy pomocy skryptu, zapewne odpowiednie ustawienie nagłówków http, niestety też nie miałem z tym nigdy do czynienia, może ktoś już coś podobnego robił i chciałby się podzielić opinią smile.gif

przechowywanie plików w bazie byłoby raczej zabójcze dla niej, przechowywanie np. avataru dla profilu owszem, ale wszystkich plików użytkownika... :/, może ktoś jest w tym lepiej rozeznany??
bemol
a moze zrobic to na zmiennych sesyjnych?

np $_SESSION['logged']
i teraz if ($_SESSION['logged'] == true) { ...
a jeśli ma to być chronione przed innymi userami to kolejna zmienna sesyjna
np $_SESSION['user']
i teraz if ($_SESSION['user'] == $Row['kto_dodal_plik'] ) { ...
konraddo
owszem zmienne sesji można zastosować przy sprawdzaniu praw dostępu,
ale jak przekazywać pliki przechowywane na serwie z obszaru niedostępnego dla przeglądarki za pomocą skryptu php'a :/
może includować plik i nadawać odpowiednie nagłówki http, w zależności od rozszerzenia?! smile.gif
erix
header" title="Zobacz w manualu PHP" target="_manual, pierwszy przykład.
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.