Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Bardzo dziwna sytuacja z logowaniem
atomek_16
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 3.09.2004

Ostrzeżenie: (10%)
X----


Witam,


Wyobraźcie sobie Państwo, że mamy skrypt logujący.
Jego działanie jest nieskomplikowane:
1. pole login i hasło
-> zamiana hasla na md5 - porownywanie rekordow w bazie danych
if pasuje - pokaz okienko "zalogowany okej"
pobierz ciasteczka
-> przekieruj na strone glowna i wypisz login
if nie pasuje - pokaz okienko "nieprawidlowe logowanie"
-> stop.

Mamy sobie dwoch uzytkownikow: admin i demo.

Haslo dla admin: admin
Haslo dla demo: demo

Loguje sie jako admin:
1. wypisuje okienko: "logowanie okej"
2. Pobiera ciasteczka
3. Przekierowuje na strone glowna
4. Status: niezalogowany

Loguje sie jako demo:
1. wypisuje okienko: "logowanie okej"
2. Pobiera ciasteczka
3. Przekierowuje na strone glowna
4. Status: zalogowany

Zdarzylo mi sie to tylko na 1 serwerze.

Co to moze byc? Mnie nic ciekawego nie przychodzi do glowy.

Pozdrawiam.
Go to the top of the page
+Quote Post
cim
post
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


może chodzi o 'register_globals' :?:

w jaki sposób odwołujesz sie do wartości cookies? najlepiej tak:

  1. <?php
  2. $zalogowany = $_COOKIE['zalogowany'];
  3. ?>


P.S. może pokaż kod

btw. jeżeli chodzi o logowanie to dobrze używać mechanizmu sesji

Ten post edytował cim 4.10.2004, 12:47:59
Go to the top of the page
+Quote Post
atomek_16
post
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 3.09.2004

Ostrzeżenie: (10%)
X----


Cytat(cim @ 2004-10-04 11:46:22)
może chodzi o 'register_globals' :?:

w jaki sposób odwołujesz sie do wartości cookies? najlepiej tak:

  1. <?php
  2. $zalogowany = $_COOKIE['zalogowany'];
  3. ?>

Witaj,

register_globals: on on

co do cookies: dokładnie tak jak napisałeś.

Po prostu: pierwszego użytkownika niby loguje, ale de facto nie jest później zalogowany. (a tym pierwszym jest właśnie login: admin). Użytkownicy, którzy się zarejestrowali później - loguje ich tak jak admina z tą różnicą, że po przekierowaniu są już zalogowani.

Ten post edytował atomek_16 5.10.2004, 11:12:24
Go to the top of the page
+Quote Post
j00seph
post
Post #4





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 3.10.2004
Skąd: Taka wiocha koło Cieszyna :P

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


Spróbuj może zrobić nie za pomocą cookie, a za pomocą kontroli sesji

gdy logowanie jest poprawne to ustawiasz
$HTTP_SESSION_VARS['zalogowany']=$nazwa_usera ;

a potem w stonach/podstronach na ktorych chcesz sprawdzac uzytkownikow
dajesz na samym poczatku strony ( (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! przed wyslanie naglowka html (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !)
session_start();

a potem juz w tresci strony spokojnie
  1. <?php
  2. if(isset($HTTP_SESSION_VARS['zalogowany'])){
  3. echo(' logowanie okey<br>');
  4. echo(' user zalogowany jako '.$HTTP_SESSION_VARS['zalogowany']);
  5. }
  6.  
  7. ?>


jak nie działa to nie bić - pisze z marszu
Go to the top of the page
+Quote Post
SoulRipper
post
Post #5





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

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


  1. <? if(!isset($HTTP_SESSION_VARS['user']))
  2.                 {                 
  3.                 echo &#092;"<form action='log/index.php' method='post'>
  4.                     <table border='1' cellspacing='0' cellpadding='0'>
  5.  
  6.                         <tr>
  7.                             <td>
  8.                                 <input type='text' name='login' size='10'>
  9.                             </td>
  10.                             <td>
  11.                                 login
  12.                             </td>
  13.                          </tr>
  14.                         
  15.                         <tr>
  16.                             <td>
  17.                                 <input type='text' name='pass' size='10'>
  18.                                 <input type='submit' name='go' value='dalej'>
  19.                                 
  20.                             </td>
  21.                             <td>
  22.                                 pass
  23.                             </td>
  24.                         </tr>
  25.                     </table>
  26.                     </form>&#092;";
  27.                      }
  28.                      else
  29.                      {
  30.                      echo &#092;"witaj:<b>\".$HTTP_SESSION_VARS['user'].\"</b>\" ; } ?>


hmm problem ten sam co u kolegi, tyle ze u mnie jak bedzie var user to ma pokazac formularz logujacy, tyle ze nie dziala :/, ja mam 2 userow:
EFFECTIVE (pass)pass oraz admin (pass)root, jak sie zaloguje admin root to jest dobrze, natomist jak zaloguje EFFECTIVE pass to pokazuje ze jest admin zalogowany

EDIT:
Przeprowadzilem testy na IE6.0 i na Opera7.51, i co sie okazuje? ze skrypt dziala bezblednie pod IE natomiast w operze dobrze wyswietla tylko admina... jakies sugestie?atomek a Ty w jakiej przegladarce testowales skrypt?

Ten post edytował SoulRipper 6.10.2004, 18:58:12
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 18:07