Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Http Authorization Request && Mysql?
krysk
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Czy ktoś kiedyś próbował wywołać okienko http-request z poziomu php? Chciałbym przy jego pomocy przeprowadzić logowanie, a dane trzymać w bazie mySQL. Dodatowo wspaniale by było jeśli by można było się wylogować.


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




http://webcity.pl/webcity/artykuly.php/t/32
Prosze to jest link tam masz ladnie napisane jak smile.gif
Tylko zamiast $PHP_AUTH_USER musisz dac $_SERVER['PHP_AUTH_USER'] i $PHP_AUTH_PW zamienic na $_SERVER['PHP_AUTH_PW']
Co do wylogowywania to nie wiem smile.gif
Moze dane trzymaj w sessji/cookie i jak wylogujesz sie to niszczysz sesje i wtedy nie da sie zalogowac ( dane czyli $_SERVER['PHP_AUTH_USER'] i $_SERVER['PHP_AUTH_PW'] )
Go to the top of the page
+Quote Post
krysk
post
Post #3





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Pozmieniałem jak mówiłeś, ale ciągle nie wyskakuje mi owe okienko. A wg. opisu powinno wyskoczyć.

  1. <?php
  2.  if (!isset($_SERVER['PHP_AUTH_USER'])) {
  3. header('WWW-Authenticate: Basic realm=\"Tajne miejsce\"');
  4. header('HTTP/1.0 401 Unauthorized');
  5. echo 'Brak dostępu.';
  6.  } else if (isset($_SERVER['PHP_AUTH_USER'])) {
  7. if (($_SERVER['PHP_AUTH_USER'] != &#092;"admin\") || ($_SERVER['PHP_AUTH_PW'] != \"abc123\")) {
  8.  header('WWW-Authenticate: Basic realm=\"Tajne miejsce\"');
  9.  header('HTTP/1.0 401 Unauthorized');
  10.  echo 'Brak dostępu.';
  11.  exit;
  12. } else {
  13.  echo &#092;"<P>Zalogowałeś się!</p>\";
  14. }
  15.  }
  16. ?>


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
Chewolf
post
Post #4





Grupa: Zarejestrowani
Postów: 335
Pomógł: 0
Dołączył: 15.11.2003

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


  1. <?php
  2.  if (!isset($_SERVER['PHP_AUTH_USER'])) {
  3. header('WWW-Authenticate: Basic realm=\"Administracja\"');
  4. header('HTTP/1.0 401 Unauthorized');
  5. echo 'Brak dostępu.';
  6.  } else if (isset($_SERVER['PHP_AUTH_USER'])) {
  7. if (($_SERVER['PHP_AUTH_USER'] != &#092;"nick\") || ($_SERVER['PHP_AUTH_PW'] != \"haslo\")) {
  8.  header('WWW-Authenticate: Basic realm=\"Administracja\"');
  9.  header('HTTP/1.0 401 Unauthorized');
  10.  echo 'Brak dostępu.';
  11.  exit;
  12. }
  13. else{ echo 'zalogowany'; }}
  14. ?>

Wylogowywanie, przykład :
  1. <?
  2. if($_GET['exit']!=''){
  3. unset ($_SERVER['PHP_AUTH_USER']);
  4. header (&#092;"location: $_SERVER['PHP_SELF]\");
  5. }
  6. ?>

link : ?exit=yes
Go to the top of the page
+Quote Post
stoprocent
post
Post #5





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

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


Rozwiazanie z wykorzystaniem kodu m5910

  1. <?php
  2.  if (!isset($_SERVER['PHP_AUTH_USER'])) {
  3. header('WWW-Authenticate: Basic realm=\"Administracja\"');
  4. header('HTTP/1.0 401 Unauthorized');
  5. echo 'Brak dostępu.';
  6.  } else if (isset($_SERVER['PHP_AUTH_USER'])) {
  7. $wyszukaj = mysql_query(&#092;"SELECT * FROM users WHERE login='\".$_SERVER['PHP_AUTH_USER'].\"' AND pass=password('\".$_SERVER['PHP_AUTH_PW'].\"')\"); 
  8. $wynikow = mysql_num_rows($wyszukaj); 
  9. if($wynikow != 1) { 
  10. header('WWW-Authenticate: Basic realm=\"Administracja\"');
  11.  header('HTTP/1.0 401 Unauthorized');
  12.  echo 'Brak dostępu.';
  13.  exit;
  14. }
  15. else{ echo 'zalogowany'; }}
  16. ?>


A co do wylogowania to byl juz kiedys watek na forum i z tego co pamietam to nie da sie tak wylogowac , PHP_AUTH_x sa wazne do zamkniecia przegladarki . Zaznaczam ze moge sie mylic tongue.gif

----------
Posty nie na temat usunołem
hwao


Ten post edytował hwao 18.06.2004, 16:37:29


--------------------
Go to the top of the page
+Quote Post
krysk
post
Post #6





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Kurcze, chłopaki ja już nie wiem gdzie robię błąd sad.gif Wklejam Wasz kod i dalej nie działa. Może muszę coś zmienić w php.ini? Pojawia mi się ciągle komunikat z 1 waunku [!isset($_SERVER['PHP_AUTH_USER'])] sad.gif


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
stoprocent
post
Post #7





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

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


Aprzeanalizowales kod questionmark.gif wszystkoie & # 3 3 ; pozamieniaj na wykrzykniki zaloz sobie tabele users z polami login i pass , pass wpisujac kodujac funkjac password , no i przed logowaniem musisz sie polaczyc z baza. to chyba wszystko .


--------------------
Go to the top of the page
+Quote Post
krysk
post
Post #8





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Oczywiście, że tak zrobiłem smile.gif) Inaczej przecież bym nie zawracał Wam czterech liter.

Dla mnie w tym przykładzie nie musi być mySQL`a - sam sobie dopiszę. Chodzi mi tylko o część logiczną, która wyrzuci owe okienko i sprawdzi dane.

upd.:
Hmm... na jednym serwerze działa, a na innym nie - jaka może być tego przyczyna?

Ten post edytował krysk 19.06.2004, 17:36:52


--------------------
Krzysztof Wójcik
Zend Certified Engineer
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 Aktualny czas: 19.08.2025 - 18:43