Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]logowanie do strony zabezpieczonej hasłem
Forum PHP.pl > Forum > Przedszkole
kogutor
Witam.Mam problem ze skryptem który powinien po wpisaniu użytkownika i hasła otwierać stronkę.Zapisałem skrypt do notatnika jako php,wysłałem na serwer dodatkowo utworzyłem plik z hasłami user.dat no i wszystko jest ok.do momentu ukazania się panelu logowania.Wpisuje tam login i hasło i po trzykrotnym wpisaniu ukazuje się komunikat "Brak uprawnień do przeglądania strony"Jestem w tym zupełnie zielony.Szukam rozwiązania już tydzień i nic.Proszę o pomoc.
OTO Skrypt:
  1. <?php
  2.  
  3. function getLoginInfo() {
  4.  
  5. if (isset($_SERVER['HTTP_AUTHORIZATION']))
  6. return explode(':', base64_decode(substr(
  7. $_SERVER['HTTP_AUTHORIZATION'], 6)));
  8. if (isset($_SERVER['PHP_AUTH_USER']))
  9. return array($_SERVER['PHP_AUTH_USER'],
  10. $_SERVER['PHP_AUTH_PW']);
  11. return false;
  12. }
  13.  
  14. file_exists('user.dat') or
  15. die('Brak pliku danych uzytkownikow');
  16.  
  17. $auth = false;
  18. if (($loginInfo = getLoginInfo()) !== false) {
  19. $hFile = fopen('user.dat', 'r');
  20. while (!feof($hFile)) {
  21. $ud = explode(':', fgets($hFile, 1024));
  22. if ($ud[0] == $loginInfo[0] && rtrim($ud[1]) ==
  23. $loginInfo[1]) {
  24. $auth = true;
  25. break;
  26. }
  27. }
  28. fclose($hFile);
  29. }
  30.  
  31. if (!$auth) {
  32. // Brak autoryzacji
  33. header('WWW-Authenticate: Basic realm="Tajne"');
  34. header('HTTP/1.0 401 Unauthorized');
  35. echo 'Brak uprawnień do przeglądania strony';
  36. die;
  37. }
  38.  
  39. // Dane dla zalogowanych użytkowników
  40. echo 'Witaj!';
  41.  
  42. ?>


Plik 'user.dat' powinien mieć następującą strukturę (ilość wpisów jest dowolna):

uzytkownik_1:haslo_1
uzytkownik_2:haslo_2
uzytkownik_3:haslo_3
...

Jeśli ktoś może mi pomóc to z góry wielkie dzięki..


-------------------------
otwieram i uzupełniam o BBCode
na przyszłość proszę pamiętać.
~Cienki1980
Cienki1980
Hmmm ja nie wiem gdzie widzisz tam problem.

Skopiowałem dokładnie kod, który pokazałeś, stworzyłem plik user.dat i bez żadnego problemu po pierwszym wpisaniu hasła i loginu od razu pokazało mi się to co powinno się pokazać.
kogutor
Czegoś nie rozumie.Powyższy skrypt zapisuje jako index.php wysyłam na serwer i ddatkowo tworzę plik user.dat i również umieszczam go na serwerze ? Czy tak?Po wpisaniu adresu strony powinien pokazać się panel logowania do którego wpisuję jako login uzytkownik_1 a jako hasło haslo_1 i otwiera się strona?Zaznaczam że z PHP nic wcześniej nie robiłem i z tąd te może dziwne pytania.
Cienki1980
Cytat(kogutor @ 11.03.2007, 20:57:54 ) *
Czegoś nie rozumie.Powyższy skrypt zapisuje jako index.php wysyłam na serwer i ddatkowo tworzę plik user.dat i również umieszczam go na serwerze ? Czy tak?Po wpisaniu adresu strony powinien pokazać się panel logowania do którego wpisuję jako login uzytkownik_1 a jako hasło haslo_1 i otwiera się strona?Zaznaczam że z PHP nic wcześniej nie robiłem i z tąd te może dziwne pytania.

Dokładnie tak.

Po wpisaniu poprawnych danych powinien pojawić się napis "Witaj !".
kogutor
Cytat
[code]header('WWW-Authenticate: Basic realm="Tajne"');

Robię wszystko tak jak napisałem i nadal wyskakuje 'Brak uprawnień do przeglądania strony' A w miejscu (Tajna) coś zmieniam?Czy wogóle w skrypcie mam coś zmienić?
marsianinek
Myślę, że tu może być problem: zamiast operatora !== napisz !=
Cienki1980
Nie ma to jak odkopać wątek sprzed roku.
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.