Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> COOKIES i SESJE
danwal
post
Post #1





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

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


Witam,

Od wczoraj dość intensywnie czytam na temat cookie i sesji i chciałbym przejść do implementacji tego ale mam jeszcze jedno zasadnicze pytanie...czy po sprawdzeniu, czy użytkownik posiada ciastko na swojej jednostce mogę przypisać zmienne z bazy do zmiennych sesyjnych, np.

  1. if (isset($_COOKIE['r_user'])) {
  2. $_SESSION['_idclient_'] = 892;
  3. $_SESSION['_idsite_user_'] = 906;
  4. $_SESSION['_login_'] = 'test123';
  5. $_SESSION['_pass_'] = 'test123';
  6. $_SESSION['_host_'] = getenv("REMOTE_ADDR");
  7. $_SESSION['_lang_'] = 'pl';
  8. $_SESSION['_comm_'] = 1;
  9. $_SESSION['_comm_all_'] = 1;
  10. }


Czy jest to złe podejście? Chodzi mi głównie o zrealizowanie "rememberMe" w serwisie...

Napewno spełnia ono zadaną funkcjonalność jednak nie jestem pewien co do poprawności tego rozwiązania bo czy można w taki sposób łączyć cookie i sesje, a bardziej za pośrednictwem cookie ustawiać zmienne sesyjne? Jeśli faktycznie się mylę to czy mógłby mnie ktoś nakierować na właściwy tok myślenia jak za pośrednictwem cookie zapamiętać zalogowanego użytkownika na wszystkich podstonach serwisu, bo szczerze to bez pomocy tablicy $_SESSION nie bardzo wiem jak to rozwiązać...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Cytat
Wszystko jest ok tylko:
1. Nie trzymaj hasła w sesji - po co?
2. Trzymaj tam najważniejsze rzeczy - id usera , login i/lub mail chyba wystarczy...
3. Oprócz sprawdzania czy jest dane ciastko, sprawdzaj czy ma pożądaną wartość. BO jakbym teraz utworzył u siebie na kompie ciastko o nazwie r_user to wtedy zacznie mi przypisywać do zmiennych sesyjnych nieznane wartości. Zrób dodatkowo warunek, że $_COOKIE['r_user']) == 'zalogowany'
4. A tak w ogóle po co robić ciastko dla sesji? Ono się automatycznie robi na komputerze użytkownika, więc wystarczy sprawdzać czy np $_SESSION['zalogowany'] ma wartość np true, którą przypisujesz po poprawnym zalogowaniu się.


2. W końcu trafię na istniejącą parę id_user / login / mail
3 / 4. Chodzi tutaj o to gdy już NIE ma sesji

Ogólnie wystarczy że w ciachu zrobisz sobie np:
id_user'a / hash
gdzie hash to np. md5 z id + loginu + maila + sól - ogólnie z danych user'a by zweryfikować go najlepiej jakieś unikalne dane dla użytkownika typu mail / data rejestracji itp (IMG:style_emoticons/default/wink.gif)
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: 7.10.2025 - 01:30