Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] problem z logowaniem, opcja pamietaj mnie
barthek
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.12.2003

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


mozliwe ze ja to zle rozumiem, ale coz.. sytuacja wyglada nastepujaco:

skrypt logowania dziala tak, ze jezeli ktos zaznaczyl opcje 'pamietaj mnie' to tworzone jest ciasteczko z danymi potrzebnymi do zalogowania:
  1. <?php
  2. $dane = ($login.$haslo);
  3. setcookie ("dane", $dane,time()+3600*24*365);
  4. ?>


nastepnym razem jak wejdziemy na strone skrypt sprawdza czy ma ustawione ciasteczko. jezeli ma to pobiera dane i probuje sie zalogowac:
  1. <?php
  2. if(isset($_COOKIE["dane"]))
  3. {
  4. $dane = $_COOKIE["dane"];
  5. $login = substr($dane, 0, 32);
  6. $haslo = substr($dane, -32);
  7. }
  8. ?>


i to wszystko mi dziala! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) problem pojawia sie przy wylogowywaniu.. mianowicie skrypt wylogowujacy wyglada tak:
  1. <?php
  2. setcookie ("dane", "",time()-3600*24*365);
  3. unset($_SESSION['login']);
  4. unset($_SESSION['haslo']);
  5. header("location:../index.php");
  6. ?>


dodam jeszcze ze w index.php na poczatku jest wlasnie includowany kod probujacy sie zalogowac poprzez dane uzyskane z ciasteczka..

problem jest tej natury, ze po nacisnieciu wyloguj i przekierowaniu do index.php automatycznie znowu mi sie loguje (pobierajac dane z ciasteczka), mimo ze przeciez teoretycznie cisteczko stracilo waznosc.. jezeli nie zaznacze opcji 'pamietaj mnie', czyli ciasteczka w ogole nie ma to wylogowywanie przebiega bezporblemowo..

jakies pomysly co tu jest nie tak?
z gory dziekuje..

edit: JEZELI NIE WIDZICIE TU BLEDU TOPOWIEDZCIE PRZYNAJMNIEJ JAK WY TAKIE RZECZY ROZWIAZUJECIE..

Ten post edytował barthek 20.02.2006, 08:47:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
barthek
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.12.2003

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


Cytat(Neotion @ 2006-02-19 22:10:43)
hymhym... Uzywasz $_SESSION do pobierania danych z ciasteczek?

nie no jasne ze nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) po prostu pozno posta dawalem i przez pomylke nie ta czesc kodu dalem..

co do tego problemu to juz go rozwiazalem - plik logout.php, ktory zawieral skrypt wylogowujacy, byl w innym katalogu niz index.php przez co nie potrafil zmienic daty waznosci ciasteczka (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Cytat(Termit_ @ 2006-02-19 22:32:04)
Z tym, że gorąco zalecam dodatkowe hashowanie hasła wysyłanego w ciasteczko, bo po przechwyceniu ciastka (a przecież może się to zdarzyć) może być 'zonk'...
Np. jeśli hasło było zakodowane md5, to dodaj do tego jeszcze hashowanie sha1.


taa... probowalem dane w ciasteczku XOR'owac unikalnym kulczem 64-znakowym, ale o ile wszystko niby dziala (jak sprawdzalem w osobnym kodzie php instrukcja pod instrukcja), to juz przy kodowaniu ciasteczka i pozniejszym jego odczytaniu w pewnym momencie zle to dzialalo (np pierwsze 50 znakow bylo OK, a pozostale 14 juz bral z kosmosu..).
postanowilem wiec to zostawic.. dlaczego? poniewaz co da komus zhashowany md5 login i haslo? jak wklepie to w formularz to zostanie to ponownie zhashowane i tyle mial hasla (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

mam natomiast jeszcze jedno pytanie. teraz jezeli ktos mi sie wylogowuje (a wczesniej dal opcje 'pamietaj mnie') to usuwa ciasteczko - przez co juz go pamietac nie bedziemy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jak wiec zrobic, zeby po wylogowaniu sie - uzytkownik mogl sobie przegladac jeszcze strony witryny normalnie jako gosc, a po zamknieciu przegladarki i ponownym powrocie byl logowany automatycznie, czyli pamietany?
Go to the top of the page
+Quote Post

Posty w temacie


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: 29.12.2025 - 19:30