Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: blokowanie dostepu do plikow na serwerze
Forum PHP.pl > Inne > Hydepark
php_novice
Witam !

Poszukuję informacji jak w sposób efektowny zablokować dostęp do plików zgromadzonych na jednym z bezpłatnych serwerów.

Przeszukałem forum i znalazłem jedynie sytuację w cześci analogiczną do mojej Link

Jednak nie wiem czy dotyczy serwera którego nie jest się administraotrm a tak jest w mojej sytuacji...

Otóż sytuacja jest następująca. Interfejs strony będzie pozwalał na zalogowanie (np sesja w php), oraz zezwoli na wylistowanie plików pdf spełniających reprezentujących informacje spełniające pełne warunki. Pliki te będzie można ściągnąć. I tu są 2 problemy:
1. Jeśli użytkownik zobaczy na pasku przeglądarki lokalizację takiego pliku będzie mógł też dostać się to innych plików (nazwy bowiem będą znaczące a analogię latwo znaleźć). Ukrycie nazwy niewiele da bo i tak źródło strony można podejrzeć...

2. Znając URL do plików posługiwanie interfejsem nie będzie jedynym możliwym sposobem dostania się do pliku....

Mam zatem pytania

- jak efektywnie ukryć link do pliku, tak aby nie można było go podejrzeć (pkt 1)

- jak ograniczyć dostęp do plików ? (pkt2) - próbowałem bowiem zmienić prawa na serwerze przez dowolnego klienta ftp ale odsyła mnie z brakiem praw do zmiany... czy zatem to kwestia serwerra czy coś źle robię..

Dzięki za wszelkie porady,
Pozdrawiam
Bakus
1. Umieścić pliki poza katalogiem public_html
2. Odczytywać pliki przez php i wysyłać je do użytkownika nie przez wysłanie adresu pliku do pobrania, a nagłówków wskazujących na plik do pobrania i wysłanie treści pliku...
Przykładowy kod (z palca):
  1. <?php
  2. $nazwa_pliku = 'tajny.pdf';
  3. header(&#092;"Content-Disposition: attachment; filename=\" . $nazwa_pliku, true);
  4. header(&#092;"Content-type: application/octet-stream\", true);
  5. fpassthru(fopen($nazwa_pliku, &#092;"rb\"));
  6. ?>
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.