Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]logowanie do strony zabezpieczonej hasłem, proszę o pomoc
kogutor
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
kogutor
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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 !".
Go to the top of the page
+Quote Post
kogutor
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
-marsianinek-
post
Post #6





Goście







Myślę, że tu może być problem: zamiast operatora !== napisz !=
Go to the top of the page
+Quote Post
Cienki1980
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Nie ma to jak odkopać wątek sprzed roku.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.08.2025 - 00:09