Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Autologowanie, opcja "zapamiętaj mnie"
Athlan
post
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Jestem ciekaw, jak rozwiązaliście problem autologowania w Waszych aplikacjach. U mnie wygląda to tak, że jeżeli użytkownik nie jest zalogowany, sprawdzane jest jego ciasteczko w którym zapisane są dane:
Kod
id_usera,haslo_md5

nie jestem pewien bezpieczeństwa swojego sposobu. Dodam jeszcze skromny kod:

  1. <?php
  2.  
  3. class autologin_Vapplet extends Vapplet
  4. {
  5. public function index_Action()
  6. {
  7. throw new VappletException('Hmmm !');
  8. }
  9.  
  10. public function Autologin_Action()
  11. {
  12. $oUser = new Vuser();
  13.  
  14. if(!$oUser->isAuth())
  15. {
  16. $oInput = new Vinput();
  17.  
  18. $aCookieAuth = explode(',', $oInput->cookie('auth'));
  19.  
  20. $sAuthId = $aCookieAuth[1];
  21. $sAuthPs = $aCookieAuth[0];
  22.  
  23. if($sAuthId && $sAuthPs)
  24. {
  25. $oModel = $this->setModel('user');
  26.  
  27. $aUserData = $oModel->getUser($sAuthId);
  28.  
  29. if($aUserData['user_pass'] == $sAuthPs)
  30. {
  31. $oUser->setAuth(true);
  32. $oUser->name = $aUserData['user_name'];
  33. $oUser->id = $aUserData['user_id'];
  34.  
  35. if($aUserData['user_admin'] == 'y')
  36. $oUser->setGroup('administrator');
  37. }
  38. }
  39. }
  40. }
  41.  
  42. public function SetCookie_Action()
  43. {
  44. setCookie('auth', $this->pass . ',' . $this->user, (time() + (60 * 60 * 24 * 14)), '/');
  45. }
  46.  
  47. public function HasCookie_Action()
  48. {
  49. $oInput = new Vinput();
  50. return $oInput->cookie('auth');
  51. }
  52.  
  53. public function DeleteCookie_Action()
  54. {
  55. setCookie('auth', '', time()-3600, '/');
  56. }
  57. }
  58.  
  59. ?>


Ten post edytował Athlan 21.03.2007, 11:15:42


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Łukasz O.
post
Post #2





Grupa: Zarejestrowani
Postów: 191
Pomógł: 5
Dołączył: 13.01.2007

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


jak chcesz być pwewien bezpieczeństwa to nie zezwalaj na autologowanie winksmiley.jpg jeśli działasz na ciasteczku to co mnie powstrzyma przed przechwyceniem czyjegoś ciastka i użyciu go do logowania? sprawdzasz zgodność IP? albo chociaż przeglądarkę?


--------------------
"Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
Go to the top of the page
+Quote Post
Athlan
post
Post #3





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Temat bezpieczeństwa ciasteczek był już wałkowany kilka razy. Jeżeli jesteśmy w tej samej sieci i nie posiadamy każdy z osobna publicznego IP, wówczas mogę użyć Twojego konta. Z przeglądarką to samo, nawet jeżeli połączymy obie rzeczy.


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 18:28