Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> popc ze skryptem do logowania
pozg
post 15.01.2006, 23:01:41
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.01.2006

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


ten skrypt jest sciagniety i dzialajednak mam pytania:
1. czy warto dodawac jeszcze sesje tak na wszeli wypadek
2. jak
2. jak zrobic wylogowanie jesli uzytkownik ma otwarte pare przegladarek i zamyka tylko ta z tym logowaniem (przy uzyciu krzyzyka albo wychodzi za pomoca przycisku "wyloguj sie")
  1. <?php 
  2. function getLoginInfo() {
  3. if (isset($_SERVER['HTTP_AUTHORIZATION'])) {
  4. return explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
  5. }
  6. if (isset($_SERVER['PHP_AUTH_USER'])) {
  7. return array($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']);
  8. }
  9. return false;}
  10.  
  11. $auth = false;
  12. if (($loginInfo = getLoginInfo()) !== false) {
  13. $mysql_link = mysql_connect('localhost', 'nazwa', 'haslo') or die('Nie można nawiązać połączenia z bazą danych');
  14. mysql_select_db('tabela', $mysql_link) or die('Błąd podczas wybierania bazy danych "test"');
  15. $mysql_result = mysql_query('SELECT prawa FROM uzytkownicy WHERE login="'.addslashes($loginInfo[0]).'" AND haslo="'.addslashes($loginInfo[1]).'"', $mysql_link);
  16. //if (mysql_num_rows($mysql_result) == 1) { if (!mysql_result($mysql_result, 0, 0)) { $auth = true; } }
  17. if (mysql_num_rows($mysql_result) == 1) { $auth = true; }
  18.  
  19. }
  20. if (!$auth) {
  21. // Brak uprawnień
  22. header('WWW-Authenticate: Basic realm="Tajne"');
  23. header('HTTP/1.0 401 Unauthorized'); 
  24. echo 'Brak uprawnień do przeglądania strony'; 
  25. }
  26. // Dane dla zalogowanych użytkowników
  27. echo 'Witaj!';
  28. ?>

dzieki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dtb
post 16.01.2006, 18:53:08
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


a w jaki sposob chcesz sprawdzic czy przegladarka zostala wylaczona?


--------------------
Go to the top of the page
+Quote Post
LBO
post 18.01.2006, 03:33:28
Post #3





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


dtb hmmm, ale pomogles koledze...tongue.gif tu nie chodzi o to jak sprawdzic czy okno zostalo zamkniete (bo to był tylko rzucony pomysl), tylko jak wykasowac dane o loginie i hasle z cache przegladarki. Czy istnieje odpowiedni skrypt do takiej operacji? nie znam dzialania mechanizmu logowania przegladarek, ale mnie tez zainteresowal ten temat... umie ktos odpowiedziec na to pytanie?

edit:
Cytat
Both Netscape Navigator and Internet Explorer will clear the local browser window's authentication cache for the realm upon receiving a server response of 401. This can effectively "log out" a user, forcing them to re-enter their username and password. Some people use this to "time out" logins, or provide a "log-out" button.
z manualka wziete

ponizsza procedura tego dokona:
  1. <?php
  2.  
  3. header('WWW-Authenticate: Basic realm="This Realm"');
  4. header('HTTP/1.0 401 Unauthorized');
  5. // if a session was running, clear and destroy it
  6. ?>

niestety trzeba w wyskakujacym okienku wcisnac cancel/anuluj sad.gif by zadzialo.. i nie wiem jak to sie ma do przyciskow wstecz/back w przegladarkach i tu wyskakuje drugi problem:
Cytat
Testing with Lynx has shown that Lynx does not clear the authentication credentials with a 401 server response, so pressing back and then forward again will open the resource as long as the credential requirements haven't changed.



zrobilem krotki research, dlatego jezeli cos napisalem zle - to smialo porawiajcie.. wentualnie wlasne pomysly (zreszta to co napisalem tutaj to tylko manual i user notes).

druga sprawa... nie wiem po co sie bawic HTTP auth skoro mozna wlasny sytem logowania zrobic - ktory wyglada jak chcesz i dziala jak chcesz... i jeszcze jedno: wiem ze repozytorium PEAR chyba ma klase odpowiedzialna za HTTP auth.. ktos sie kiedys z nia spotkal?

Ten post edytował LBO 18.01.2006, 15:22:36
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:28