HTACCESS
HTACCESS jest wbudowanym mechanizmem konfiguracyjnym serwera stron WWW Apache, pozwaląjcym określać sposób jego działania w odniesieniu do indywidualnych katalogów. W katalogu, do zawartości którego ma się odnosić mechanizm konfiguracyjny umieszcza się plik o nazwie .htaccess z jednowierszowymi poleceniami. Działanie poleceń rozciąga się na podkatalogi, chyba że umieszczono w nich ich własne pliki .htaccess
Mechanizm autoryzacji dostępu do stron "htaccess"
Kontrola dostępu po stronie serwera, nie klienta. Dzięki temu mechamizm należy do bezpiecznych.
Dostęp typu "user/password"
Tworzymy plik o nazwie .htaccess o następującej treści
AuthName "Prywatna strona"
AuthType Basic
AuthUserFile /pełna_scieżka_do_pliku/.htpasswd
Require valid-user
Plik ten umieszczamy w
zabezpieczanym katalogu www.
Informacje o innych opcjach znaleźć można na stronie
http://www.freewebmasterhelp.com/tutorials/htaccess/
Tworzymy plik o nazwie .htpasswd
(w katalogu określonym poleceniem
AuthUserFile) przy pomocy narzędzia Unix
htpasswd -c .htpasswd <nazwa uzytkownika>
Program pyta nas dwukrotnie o podanie
hasła dla wskazanego użytkownika. Hasło to jest szyfrowane algorytmem MD5 i zapisywane w
pliku .htpasswd - tu przykład dla użytkownika "swoj"
swoj :UCAEbGuuBa.YU
Alternatywnie można posłużyć się usługą
sieciową
http://www.kxs.net/support/htaccess_pw.html
która generuje szyfrowane hasło j.w. Można je następnie ręcznie wkleić do
pliku .htpasswd jeśli nasz serwer nie udostępnia narzędzia
htpasswd
Obydwa
pliki .htaccess i .htpasswd muszą być
dostępne do odczytu dla serwera http (można np. ustawić im tryby dostępu
przez
chmod 644 .htaccess
Jeśli
ochroną mają być objęte tylko niektóre pliki w katalogu, dla każdego z nich
(np.
plik-A.html, plik-B.html,
itd.) tworzymy w .htaccess następującą grupę:
<File plik-A.html>
Dostęp wg. numeru IP
W pliku .htaccess umieszczamy polecenia
Order allow,deny
deny from 151.75.6.15
deny from 151.75.6.
allow from .umk.pl
odpowiednio blokujące dostęp do katalogu z konkretnego adresu IP, z grupy adresów, lub też zezwalające na dostęp z serwerów wskazasnej grupy.
Blokada możliwości podglądu samego pliku .htaccess
<File .htaccess>
Order allow,deny
deny from all
</File>
Inne zastosowania "htaccess"
Ustawienia domyślne serwera Apache mogą
zezwalać lub zabraniać gościom listowania zawartości odwiedzanych
katalogów. .htaccess umożliwia zmianę tych ustawień w
odniesieniu do poszczególnych katalogów.
IndexIgnore *
zawartość katalogu nie będzie wyświetlana
IndexIgnore *.gif *.jpg
nazwy plików graficznych z bieżącego katalogu nie pojawią się w listingu
Options +Indexes (-Indexes)
zezwolenie/zakaz listingu dla katalogu
Przekierowania
:Location /stara.html
Redirect /nowa.html
:Location /stara.html
Redirect http://www.nowy_adres.pl
Inne parametry "Redirect"
(np. temp, permanent, forbidden,
...) generują rozmaite kody błędu, na podstawie których
serwer podejmie określoną akcję.
:Location *.gif
Expires A600
Pliki graficzne *.gif tracą ważność po
10 minutach, przeglądarka klienta musi pobrać je ponownie po upływie tego
czasu.
Definiowanie strony głównej w katalogu
(domyślnie Index.html)
Index glowna.html
glowna-alt.html
Strony glowna.html, a przy jej braku
glowna-alt.html będą traktowane jako główne w katalogu.
Obsługa błędów. Typowa
sytuacja - błąd 404: brak zasobu o podanym przez klienta adresie url
powoduje wyświetlenie komunikatu przeglądarki "Not found". Można to zmienić:
ErrDoc 404 /obsluga/brak_pliku.html
Redefiniowanie typów MIME.
Przeglądarka domyślnie kojarzy pobierane pliki określonego typu ze
stosownymi "wtyczkami", np. *.doc - MSWord, *.pdf -
Acrobat Reader itp. Można te powiązania zmienić/podpowiedzieć,
np.:
:Location *.jpg
SetMime application/gimp