publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
15 skomentuj »

TAGI: .htaccess , apache , dostęp na hasło

2007-08-14 00:07  |  Artur Pęczak

Jak używać plików .htaccess

Jak używać plików .htaccess

Dostęp do plików konfiguracyjnych Apache’a ma tylko jego administrator. Jeżeli chcemy samodzielnie zmienić domyślne zachowanie serwera, nie jesteśmy jednak na straconej pozycji. Pomogą nam w tym pliki .htaccess.

Apache to najpopularniejszy serwer WWW na świecie. Według firmy badawczej Netcraft jego udział w rynku wynosi prawie 51% (sierpień 2007). Apache jest powszechnie wykorzystywany przez przedsiębiorstwa i dostawców hostingu. Jeżeli więc zamierzamy uruchomić własną stronę internetową, to z dużym prawdopodobieństwem będzie ona działać właśnie na tym oprogramowaniu. Warto zatem wiedzieć więcej o sposobach konfiguracji tego serwera, bo w ten sposób wyciśniemy z niego wszystko, co się da.

Apache od kuchni

Domyślna konfiguracja Apache’a w systemie Debian przechowywana jest w katalogu /etc/apache2. Ścieżka ta może się różnić w zależności od używanego systemu i dystrybucji (jeżeli jest to Linux), a także wtedy, gdy Apache został zainstalowany i skonfigurowany indywidualnie. Nie jest to jednak aż tak bardzo istotne, w przeciwieństwie do faktu, że dostęp do tego katalogu ma jedynie administrator systemu. Każda zmiana w plikach ustawień Apache’a wymaga zatem wysokich uprawnień, których zwykły użytkownik po prostu nie ma.

Nie zawsze takie zachowanie systemu jest jednak pożądane. Wyobraźmy sobie dostawcę hostingu, który udostępnia swoim klientom serwery wirtualne. Ci oczekują wysokiej funkcjonalności serwera z możliwością przygotowywania własnych stron błędów, zabezpieczania katalogów hasłem czy blokowania dostępu do serwisu wybranym osobom. Spełnienie tych zachcianek jest możliwe dzięki mechanizmowi plików .htaccess.

Co to jest .htaccess

Wielu osobom skrót .htaccess kojarzy się przede wszystkim z możliwością kontrolowania dostępu do strony internetowej za pomocą hasła. I choć jest to rzeczywiście jedno z bardziej popularnych zastosowań tego pliku, to jego rola jest znacznie szersza. Mechanizm .htaccess został zaprojektowany jako narzędzie do zmiany konfiguracji Apache’a w odniesieniu do pojedynczych katalogów na serwerze. W ten sposób nawet zwykły użytkownik może zmodyfikować ustawienia Apache’a, aktywując funkcje obsługi skryptów CGI i przetwarzania dyrektyw SSI czy ograniczając dostęp osób do strony z konkretnego adresu IP. Pliki .htaccess są także wykorzystywane do przygotowywania własnych stron błędów generowanych przez serwer. I to wszystko jest możliwe na poziomie pojedynczego katalogu w serwisie internetowym. Dla wszystkich naraz lub każdego z osobna.

Rys. 1. Dostęp do głównych plików konfiguracyjnych Apache’a ma tylko administrator serwera. Część „uprawnień” warto jednak oddać w ręce zwykłych użytkowników.

Warto jednak wiedzieć, że ustawienia wprowadzane do konfiguracji przez .htaccess mogą być równie dobrze definiowane na poziomie głównego pliku ustawień Apache’a. Jakby tego było mało, dokumentacja serwera wprost odradza stosowanie .htaccess, jeżeli nie mamy ku temu wyraźnych przesłanek. Kiedy zatem nie powinniśmy używać tego mechanizmu? Podstawowa odpowiedź na to pytanie brzmi: wtedy, gdy mamy dostęp do plików konfiguracyjnych serwera. Reguły zapisane w .htaccess możemy z powodzeniem zawrzeć w ramach dyrektywy <Directory> w głównym pliku ustawień Apache’a. Podejście to ma dwie kluczowe przesłanki. Pierwsza z nich związana jest ze zwiększonym obciążeniem serwera. Komputer, który musi przetwarzać dodatkowe reguły zapisane w kilku-kilkudziesięciu plikach konfiguracyjnych, potrzebuje więcej zasobów. Druga dotyczy bezpieczeństwa: jeżeli udostępniamy możliwość zmiany konfiguracji Apache’a, to w pewnym zakresie tracimy nad nim kontrolę. Użytkownicy mogą modyfikować jego ustawienia, co potencjalnie może prowadzić do naruszenia zasad bezpieczeństwa.

Mimo tych zastrzeżeń mechanizm .htaccess jest bardzo przydatnym narzędziem. Jeśli korzystamy z usług dostawcy hostingu, to dostęp do .htaccess umożliwi nam uruchomienie serwera WWW zgodnie z naszymi oczekiwaniami. Z drugiej strony, jeżeli jesteśmy właścicielami serwera i mamy do niego dostęp z uprawnieniami administratora, powinniśmy rozważyć konfigurację Apache’a na poziomie głównych plików konfiguracyjnych.

«poprzednia 1 2 3 4 ... 5 następna »

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
15 skomentuj »

Polecamy

Reklama

Komentarze

  • Redbull

    #1 Redbull 2008-07-07 09:07:01 0

    Bardzo fajny opis (: dzieki

    None

  • sagitarius

    #2 sagitarius 2008-07-07 09:07:01 0

    swietny tekst, wlasnie tego szukalam :)

    None

  • arty

    #3 arty 2008-07-07 09:07:01 0

    ależ tu prawie nic nie ma ...

    None

  • tommy

    #4 tommy 2008-07-07 09:07:01 0

    się nie wie o co chodzi to nie ma ;] czytaj ze zrozumieniem ;]

    None

  • heni

    #5 heni 2008-07-07 09:07:01 0

    bardzo dobry tekst - tego szukałem Pozdro ;-)

    None

  • daman

    #6 daman 2008-07-07 09:07:01 0

    @tommy

    jak wiesz o co chodzi to po co czytasz ?

    co do art. nic ciekawego

    None

  • daniels

    #7 daniels 2008-09-09 09:12:27 0

    Dla początkującego - jakim kiedyś sam byłem :D - i tego, który chce sobie poprzypominać, to bardzo przydatny artykulik.

    Jak ktoś kiedyś powiedział: Jestem za a nawet przeciw :D (nie dawaj się Lechu tym, co siedzieli pod miotłami, jak było nieciekawie)

    None

  • Jarosław

    #8 Jarosław 2010-01-13 13:15:32 0

    A gdzie w serwerze wirtualnym business starter w home.pl mam plik .htpasswd ?

    IP: 80.51.121.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

  • a srasz?

    #9 a srasz? 2010-08-11 01:01:32 0

    a srasz?



    IP: 79.163.11.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729)

  • buahahaha

    #10 buahahaha 2010-12-26 20:39:20 0

    http://buahahaha.y0.pl

    IP: 83.26.224.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 ( .NET CLR 3.5.30729)

  • kroppo

    #11 kroppo 2011-07-09 12:54:43 0

    O rany, od rana próbowałem znaleźć na serwerze plik htaccess, a dopiero z tego artykuliku dowiedziałem się jak to zrobić!

    Mam problem polegający na (CHYBA) tym, ze na stronie http://www.alpinsystem.com/ o pracach wysokościowych jest podobno nieprawidłowe przekierowanie domeny. Gdzieś wyszperałem, ze właśnie ten plik może pokierować przekierowaniami prawidłowo. Mam nadzieję, ze mi się to uda za rączkę zrobić.

    Pozdrawiam

    IP: 93.181.140.[...] Mozilla/5.0 (Windows NT 6.0; rv:5.0) Gecko/20100101 Firefox/5.0

  • redactore

    #12 redactore 2011-11-23 08:54:49 0

    Wielkie dzięki za to opracowanie. Wiedza elementarna która powinien mieć każdy szanujący się webmaster ;) dzięki niej poprawiłem działanie swojego bloga: http://energetycznie.com.pl. Pozdrawiam

    IP: 89.75.108.[...] Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30

  • Górnik

    #13 Górnik 2011-12-16 19:05:01 0

    Bardzo dobry opis tego właśnie szukałem wzbogacając moją wiedzę przełożyłem ją i wykorzystałem na moim małym projekcie. Dyskusyjne forum górnicze http://www.forumgornicze.pl Dziękuję Bardzo

    IP: 87.205.222.[...] Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0

  • sdasdas

    #14 sdasdas 2012-01-24 11:45:40 0

    Najgorszy kurs jaki widzialem... Stracilem 20 minut swojego zycia.

    IP: 83.6.184.[...] Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7

  • kot1979

    #15 kot1979 2012-01-29 16:06:26 0

    Witam

    Mam dość duży problem z wykonaniem klasycznego przekierowania 301 .

    Mianowicie chciałbym wykonać je na pliku .htaccess i o ile jest w przekierowaniu link bez polskich znaków do linku z polskimi znakami wtedy działa.

    Natomisat jeśli zrobie , że przekierowanie z linku z polskimi znakami do innego linku już nie działa. Tak jakbym miał złe kodowanie polskich znaków.

    chodzi mi o przykład na , którym bardzo mi zależy by działał (niestety nie działa:-( ):

    RewriteEngine on

    RewriteCond %{REQUEST_URI} ^\/meble/39/%C5%82%C3%B3%C5%BCka_drewniane_-_szczeble.html$

    RewriteCond %{QUERY_STRING} ^$

    RewriteRule ^(.*)$ http://www.domena.pl/meble/297/Szuflady_po...B3%C5%BCko.html

    Natomiast jak dam np: (przykład działa) :

    RewriteEngine on

    RewriteCond %{REQUEST_URI} ^\/meble/39/kontakt.html$

    RewriteCond %{QUERY_STRING} ^$

    RewriteRule ^(.*)$ http://www.domena.pl/meble/297/Szuflady_po...B3%C5%BCko.html

    Mam w planach zmienić własny serwis na inny i zależy mi na starch linkach , które niestety mają polskie znaki w linku.

    Proszę o pomoc jeśli jest to możliwe. Pozdrawiam serdecznie

    IP: 77.255.253.[...] Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł