Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie plików tylko za zgodą skryptu
Forum PHP.pl > Forum > PHP
pawluch4
Czy istnieje możliwość takiego skonfigurowania serwera/chmod'ów itp. tak aby użytkownik mógł pobierać pliki tylko w przypadku gdy plik ten zostanie do niego wysłany za pośrednictwem skryptu PHP.

Chodziłoby mi o stworzenie panelu logowania, który dawałby dostęp do pewnych plików i tylko po uzyskaniu takiego dostępu byłaby możliwość pobrania tychże plików. Problem polega na tym, że jeżeli znam dokładne położenie pliku np. www.strona.com/pliki/dane.txt to mogę go pobrać omijając procedurę logowania, pomimo że zarówno katalog pliki jak i sam plik dane.txt mają tak ustawione prawa dostępu aby tylko właściciel mógł je odczytywać, wykonywać i edytować. Pozostałe grupy pozbawione są tych praw.

Będę wdzięczy za wszelkie sugestie.
Moli
Może po prostu zamaskuj adres za pomocą .htaccess ?
vokiel
Za pomocą .htaccess przekieruj wszystkie żądania do plików, które chcesz blokować na jakiś skrypt, z nazwą pliku.
A dalej to myślę, że już poradzisz winksmiley.jpg
pawluch4
Bardzo dziękuję za pomoc. Udało mi się rozwiązać problem i to nawet na dwa sposoby. Oto one

1. Za pomocą pliku .htaccess
Należy stworzyć plik o nazwie .htaccess w głównym folderze strony www i umieścić w nim następujące polecenie:
CODE


Pierwszym parametrem (po Redirect) jest ścieżka do folderu, do którego chcemy ograniczyć dostęp. Zamiast ścieżki można też użyć wyrażenia regularnego. Drugi parametr to adres strony, na który zostaną przekierowane wszystkie żądania dostępu do folderu podanego w pierwszym parametrze.

np. jeżeli użytkownik wpisze adres www.strona.com/pliki/dane.txt serwer przekieruje go na www.strona.com/innyfolder/dane.txt

Można w ten sposób dodawać wiele przekierować, z różnych folderów. Należy jedynie pamiętać, że każda klauzula musi znajdować się w oddzielnej linii.

W moim przypadku plik .htaccess skonfigurowałem następująco

CODE


Więcej informacji na temat sterowania serwerem za pomocą plików .htaccess
http://www.webowe.pl/htaccess-podstawy-czesc-i/
http://webmade.org/porady/plik-htaccess.php
http://www.internetmaker.pl/artykul/3533,1...rem_apache.html
http://webhosting.pl/Jak.uzywac.plikow..htaccess

2. Zmieniając lokalizację chronionych folderów względem głównego folderu strony www
Sposób ten jest może mniej wyrafinowany, ale również zdaje egzamin. Aby wszystko zadziałało należy tak skonfigurować domenę, aby nie wskazywała na główny katalog serwera.

np. Drzewo katalogów może wyglądać tak
CODE
-KatalogGłówny
|---www
|---pliki


przykładową domenę www.strona.com podpinamy pod katalog www, a wszelkie pliki, które chcemy chronić przed dostępem z zewnątrz wrzucamy do folderu pliki. Teraz z poziomu skryptu php powinniśmy bez bólu dostać się do folderu pliki, a z poziomu przeglądarki już niekoniecznie(przynajmniej ja nie potrafię;))

Mam nadzieję, że informacje okażą się przydatne.
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.