Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bardzo dziwna sytuacja z logowaniem
Forum PHP.pl > Forum > Przedszkole
atomek_16
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.
cim
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
atomek_16
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.
j00seph
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 ( exclamation.gif! przed wyslanie naglowka html 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
SoulRipper
  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?
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.