[ Pobierz całość w formacie PDF ]
.Nawet w prostej witrynie może być potrzebne ograniczenie dostępu do niektórych stron.Wykorzystanie mechanizmu uwierzytelniania dostarczanego przez serwer WWW jest zwykle szybkim iefektywnym sposobem zrealizowania takiego mechanizmu.Na przykład może być niezbędne stworzenie zbiorustron przeznaczonych do administracji witryną, za pomocą których można przeglądać i zmieniać wybraneelementy witryny.Strony te nie mogą być dostępne dla wszystkich użytkowników, ale administrator musi miećdo nich dostęp z dowolnej przeglądarki.Aby zrealizować takie założenia możesz przenieść wszystkie strony administracyjne do osobnegopodkatalogu w drzewie katalogów witryny WWW oraz zmienić konfigurację Apache tak, aby dostęp do stronznajdujących się w tym katalogu wymagały autoryzacji.Odpowiednie dyrektywy konfiguracji mogą znajdowaćsię w pliku httpd.conf lub.htaccess w chronionym katalogu.Jeżeli masz dostęp do plików konfiguracyjnychApache powinieneś skorzystać z nich zamiast z pliku.htaccess.Korzystanie z pliku.htaccess jest mniejefektywne od wykorzystania standardowych plików konfiguracyjnych, ponieważ jest on odczytywany za każdymżądaniem pliku z katalogu zawierającego plik.htaccess.Jednak jeżeli witryna jest umieszczona nadzierżawionym serwerze, prawdopodobnie nie będziesz mógł zmienić plików konfiguracyjnych i zrestartowaćserwera WWW w celu pobrania zmienionej konfiguracji.Na wydruku 8.1 zamieszczony jest wydruk prostej strony HTML zawierającej łącze do podkatalogu zestroną administracyjną.Strona administracyjna znajduje się w katalogu wymagającym uwierzytelniania, więckliknięcie tego łącza spowoduje, że przeglądarka wyświetli standardowe okno uwierzytelniania, pokazane narysunku 8.1.Wydruk 8.2 zawiera dyrektywy konfiguracji Apache które powodują wyświetlenie okna logowania.Wydruk 8.1.Prosta strona HTML z łączem do stron administracyjnychProste uwierzytelnianie ApachePrzejdz do strony administratoraWydruk 8.2.Dyrektywy konfiguracji Apache włączające podstawowe uwierzytelnianieAuthUserFile /www/auth_usersAuthName AdminstrativeAuthType Basicrequire valid-userRysunek 8.1.Oknodialogoweuwierzytelniania wprzeglądarceWięcej informacji na temat użycia uwierzytelniania Apache można znalezć w Sieci oraz we wieluświetnych książkach poświęconych serwerowi Apache.Ten rodzaj uwierzytelniania wymaga współpracypomiędzy przeglądarką i serwerem.Mechanizm ten wygląda następująco: gdy użytkownik musi zostaćautoryzowany, serwer WWW wysyła żądanie 401 do przeglądarki a przeglądarka odpytuje użytkownika i odsyławprowadzone przez niego dane do serwera.Jeżeli serwer zaakceptuje uwierzytelnianie, chroniony zasób jestudostępniony użytkownikowi.Przeglądarka wysyła wprowadzone dane do serwera podczas żądania sprowadzeniawszystkich kolejnych stron aż do zakończenia pracy przeglądarki.PHP posiada zmienne globalne, których możesz użyć w aplikacji w celu odczytania danych autoryzacji.Możesz skorzystać ze zmiennych $PHP_AUTH_USER oraz $PHP_AUTH_PW do odczytania nazwy użytkownika i hasła.Wydruk 8.3 zawiera stronę wyświetlająca dane autoryzacji.Na rysunku 8.2.pokazana jest zawartość tej strony poprzejściu do niej poprzez łącze znajdujące się na stronie z wydruku 8.1.Wydruk 8.3.Wyświetlanie zawartości zmiennych autoryzacjiStrona administratoraWitamy na stronie administratoraRysunek 8.2.Zmienneautoryzacji w PHPSchemat autoryzacji Apache zapewnia podstawowy stopień bezpieczeństwa witryny.Jest on szczególnieużyteczny w sytuacjach, gdy chcesz chronić wszystkie strony i inne zasoby znajdujące się we fragmencie drzewaRozdział 8 Uwierzytelnianie96katalogów witryny.Ograniczeniem stosowania tej metody jest konieczność dodawania i usuwania użytkownikówpoprzez wykonanie odpowiednich poleceń na serwerze.W następnej części zostanie opisane w jaki sposób możnawykorzystać PHP do aktualizacji pliku haseł, co pozwoli na stworzenie narzędzia WWW do dodawania iusuwania użytkowników.Aktualizacja pliku
[ Pobierz całość w formacie PDF ]