Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jakie logowanie najlepiej zrobic?
wozniak
post
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 0
Dołączył: 21.11.2003

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


Witam, mam pytanko jakie logowanie najlepiej zrobic? tzn
Jezeli login jest ok i hasło ok to w ciastko wrzucic losowe cyferki i zapisac je np. w bazie i jezeli ciastko i to z bazy bedzie sie zgadzac to pokaze jakies dane dla uzytkownika tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Levabul
post
Post #2





Grupa: Zarejestrowani
Postów: 197
Pomógł: 0
Dołączył: 11.07.2005

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


Cytat(nospor @ 2006-03-01 10:18:53)
Chodzi ci oto, że generujemy id, zapisujemy w bazie i to samo id do ciastka? POtem tylko porownujemy? A gdy sie koles tak zaloguje to znowu zmieniamy?

Jeżeli tak to na identycznej zasadzie działa ta klasa sesji (napisana dawien dawno pod mini serwis (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )

  1. <?php
  2. define ('SESSION_TIME', 3600);
  3.  
  4. class session {
  5.  
  6. var $session_id;
  7. var $values = array ();
  8. var $insert = 0;
  9.  
  10. function session () {
  11. if (strlen($_COOKIE['session_id']) == 32) {
  12. $this -> session_id = $_COOKIE['session_id'];
  13. setCookie ('session_id', $this ->session_id, time()+ SESSION_TIME);
  14. $query = mysql_query ("SELECT `values` FROM sessions WHERE `id` = '{$this -> session_id}'");
  15. $row = mysql_fetch_array ($query);
  16. $this -> values = unserialize ($row['values']);
  17. }
  18. else {
  19. $this -> session_id = md5 (time ());
  20. setCookie ('session_id', $this -> session_id, time()+ SESSION_TIME);
  21. $this -> insert = 1;
  22. }
  23. }
  24.  
  25. function getValue ($name){
  26. return $this -> values [$name];
  27. }
  28.  
  29. function setValue ($name, $str) {
  30. $this -> values [$name] = $str;
  31. }
  32.  
  33. function sessionClose () {
  34. $values = serialize ($this -> values);
  35. $time = time ();
  36. $maxTime = $time - SESSION_TIME;
  37. if ($this -> insert)
  38. mysql_query ("INSERT INTO `sessions` (`id`, `values`, `time`) VALUES ('{$this -> session_id}', '$values', '$time')");
  39. else
  40. mysql_query ("UPDATE `sessions` SET `values`='$values', `time` = '$time' WHERE `id` = '{$this -> session_id}'");
  41. mysql_query ("DELETE FROM `sessions` WHERE `time` < '$maxTime'");
  42. }
  43.  
  44. }
  45. ?>


Clasa zapisuje dane z sesji do bazy jako zserializowana tablica, a po przejściu na inną stronę i załadowaniu sesji (jeżeli ta istnieje) dane są pobierane z bazy i odserializowane. Bardzo łatwo zrobić za jej pomocą takie logowanie ...

Ten post edytował Levabul 4.03.2006, 15:01:12
Go to the top of the page
+Quote Post

Posty w temacie
- wozniak   Jakie logowanie najlepiej zrobic?   28.02.2006, 00:49:13
- - Najki   W ciastku powinien być login i hasło, raczej nic w...   28.02.2006, 08:06:58
- - php programmer   Zdecydowanie odradzam ciastka, można bardzo łatwo ...   28.02.2006, 09:04:51
- - mike_mech   ~php programmer wybacz ale to co napisałeś to głup...   28.02.2006, 09:30:08
- - php programmer   Nie chce się tu wykłucać, ale session_start() pisz...   28.02.2006, 11:18:39
- - koskitos   ok, a w sesjach chyba niekonieczne jest przechowyw...   28.02.2006, 11:27:32
- - php programmer   Nie trzeba, hasło sprawdza się tylko za pierwszym ...   28.02.2006, 11:33:47
- - revyag   Cytatże przy cookie łatwiej się pomylić, Kiepski a...   28.02.2006, 11:49:57
- - php programmer   No z tym Linuxem to argument troche przesadzony, a...   28.02.2006, 11:56:11
- - mike_mech   Cytat(php programmer @ 2006-02-28 11:18:39)pr...   28.02.2006, 11:56:49
- - Kuziu   Cytat(php programmer @ 2006-02-28 12:33:47)Ni...   28.02.2006, 11:57:50
- - php programmer   ok, no to tym bardziej sie ujawnia przewaga sesji,...   28.02.2006, 12:01:30
- - nospor   Cytat(zamkniesz okno i juz jesteś automatycznie wy...   28.02.2006, 12:03:37
- - php programmer   o matko, no chyba koleś nie będzie trzymał przez ...   28.02.2006, 12:05:37
- - nospor   @php programmer jesteś niesamowity Musisz być szc...   28.02.2006, 12:08:19
- - php programmer   nospor jesteś niekonsekwentny w swoich wypowiedzia...   28.02.2006, 12:12:36
- - Kuziu   A co z logowaniem na stałe ? U mnie na stronie wi...   28.02.2006, 12:13:16
- - nospor   Cytatnospor jesteś niekonsekwentny w swoich wypowi...   28.02.2006, 12:16:19
- - sopel   osobiście uważam, że trzymanie w cookies loginu i ...   28.02.2006, 12:42:18
- - wozniak   Teraz mnie dopiero zmieszaliscie;)   28.02.2006, 14:38:32
- - nickers   Jesli chodzi o bezpieczenstwo. To jesli dobrze zro...   28.02.2006, 15:02:43
- - sopel   CytatJa uzywam sesji, bo mysle, ze sa bazpieczniej...   28.02.2006, 15:18:08
- - nickers   Nie wiem, jak na innych serwerach, ale u mnie w co...   28.02.2006, 15:28:37
- - sopel   Cytat(nickers @ 2006-02-28 15:28:37)Nie wiem,...   28.02.2006, 16:11:56
- - marcini82   Nie zapominajmy o tym, ze przegladarka przy kazdym...   1.03.2006, 08:47:26
- - nospor   Tak i dlatego hasla w ciasteczkach powinny byc trz...   1.03.2006, 08:54:48
- - sopel   Cytat(nospor @ 2006-03-01 08:54:48)Tak i dlat...   1.03.2006, 09:05:00
- - nospor   Jak mowilem haslo, mialem na mysli hasha z tego ha...   1.03.2006, 09:18:53
- - wozniak   ok. czyli robie tak: [PHP] pobierz, plaintext ...   4.03.2006, 13:20:35
- - Levabul   Cytat(nospor @ 2006-03-01 10:18:53)Chodzi ci ...   4.03.2006, 14:53:03
- - wozniak   Mam teraz taki problem jak mam hasło zapisane md5 ...   4.03.2006, 16:50:01
- - nospor   Cytathasło zapisane md5 i uzytkownik zapomni hasło...   6.03.2006, 09:37:18
- - sopel   Cytat(nospor @ 2006-03-01 09:18:53)Nie jestem...   6.03.2006, 17:13:32
- - nospor   To rozwiązanie jest powiedzmy ciut lepsze od trzym...   6.03.2006, 17:21:04
- - wozniak   Zrobiłem takie logowanie: Logowanie:[PHP] pobierz,...   14.03.2006, 01:20:57
- - nospor   [PHP] pobierz, plaintext <?php$query = sql...   14.03.2006, 09:31:56
- - wozniak   Zapomniałem dodac;)Ale takie logowanie moze byc?   14.03.2006, 09:57:49
- - nospor   moze byc. oczywiscie zalezy jeszcze jak dodasz do ...   14.03.2006, 10:26:42


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: 15.10.2025 - 23:08