mskrypty

mskrypty.ovh.org -> Pomoc -> .htaccess - dostęp do katalogu (serwer Apache)

.htaccess - dostęp do katalogu (serwer Apache)

Czasami na potrzeby skryptów PHP musimy ustawić "prawo do zapisu dla wszystkich" dla jednego lub kilku katalogów na serwerze. Katalog, do którego może pisać każdy, kto tylko o nim wie jest otwartą furtką dla włamywacza. Nie chcemy takich furtek.
Tego typu sytuację można rozwiązać lokalizując katalog-futkę ponad katalogiem "public_html". Jest jednak jeszcze inny sposób: zablokowanie dostępu poprzez plik .htaccess.

Co to takiego: .htaccess?

Plik .htaccess służy do zmieniania konfiguracji katalogów na serwerze. Należy korzystać z niego tylko wtedy, kiedy nie mamy możliwości dokonywania zmian w konfiguracji serwera. Zdarza się to dość często, bo zwykle nie jesteśmy administratorami serwera, z którego korzystamy. Plik ten umieszcza się w konkretnym katalogu i dotyczy on konfiguracji właśnie tego katalogu.

Blokowanie dostępu

.htaccess może posłużyć do zabronienia dostępu do katalogu z zewnątrz. Powinien wyglądać następująco:

order deny,allow
deny from all


i znajdować się w katalogu, do którego dostęp chcemy zablokować.

.htaccess w mGalerii

Skrypt mGaleria automatycznie tworzy miniatury zdjęć, które dodajemy. Tworzone pliki zapisywane są w odpowiednich katalogach - katalogi te muszą mieć ustawione prawa do zapisu. Aby uchronić katalog przed niepowołanym dostępem wystarczy w nim umieścić plik .htaccess o treści zapisanej powyżej.

Przykład: aby uchronić katalog: thumbs/rosliny nie musimy przenosić go ponad "public_html" i zmieniać zmiennej $thumbs_dir_name w pliku 'config.php', tylko umieszczamy w nim plik odpowiedni plik .htaccess.

UWAGA! Plik .htaccess wcale nie musi się nazywać .htaccess. Nazwa pliku, który odpowiada za kontrolę dostępu do katalogu jest określona w pliku 'httpd.conf' serwera Apache - dyrektywa AccessFileName. Domyślnie jest to .htaccess, może jednak być inna.
mGaleria nie obsługuje innych nazw, tylko .htaccess. Obsługa innych plików wymaga niewielkiej zmiany w kodzie. W przyszłości najprawdopodobniej będzie można ustawiać tę nazwę w pliku konfiguracyjnym.