Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Logowanie w oparciu o cookies, login i hasło w cookies
konrados
post 31.07.2008, 11:29:54
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Zadałem ostatnio podobne pytanie ( http://forum.php.pl/index.php?showtopic=99301 ) ale niestety nie uzyskałem odpowiedzi, więc spróbuję inaczej.

Czy ogólnie koncepcja logowania via cookies jest prawidłowa? Działa to tak, że gdy zarejestrowany użytkownik się loguje i podaje prawidłowy login/hasło, tworzony jest cookie z owym loginem oraz md5 hasła. Gdy klika "wyloguj", cookie jest usuwany. Sprawdzenie, czy user jest zalogowany odbywa się poprzez sprawdzenie cookie - i porównanie loginu i md5 hasła z tymi prawidłowymi.

Czy to jest prawidłowe? A jeśli tak, to dlaczego większość tutoriali upiera się przy użyaniu $_SESSION ?
Go to the top of the page
+Quote Post
kaem
post 31.07.2008, 12:46:31
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Parę cytatow z http://pl.wikibooks.org/wiki/PHP/Sesje:
Cytat
Działanie sesji w PHP jest bardzo proste. W momencie pierwszego trafienia na stronę interpreter tworzy specjalny, losowy oraz unikalny identyfikator przesyłany między żądaniami za pomocą ciastek lub parametru PHPSESSID doklejanego automatycznie do adresów URL.

....
Cytat
Różnica pomiędzy sesjami, a ciastkami jest taka, że dane te w ogóle nie opuszczają serwera WWW, są przez to (w teorii) bezpieczniejsze.

W każdym w miarę przyzwoitym kursie, tutorialu masz to wytłumaczone. Wystarczy użyć tylko google.
Go to the top of the page
+Quote Post
rybik
post 31.07.2008, 13:05:55
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 29.07.2006

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


troche o sesjach i ciasteczkach

http://forum.joomla.pl/showthread.php?t=19747
Go to the top of the page
+Quote Post
konrados
post 31.07.2008, 14:00:03
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Dzięki,

Ale - ja wiem jak działają sesje - niemniej w tym konkretnym projekcie nie mogę pozwolić sobie właśnie na "doklejanie" sid'a do urla - z pewnych względów. Dlatego zdecydowałem się na ciastka. No i dlatego ponawiam pytanie - czy jest coś złego w tym podejściu ?
Go to the top of the page
+Quote Post
dadexix
post 31.07.2008, 14:08:55
Post #5





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


ale sesje zawsze używają ciastek poza momentem gdy user ma wylaczone cookie w przegladarce, wtedy dokleja ssid... więc po co kobinować?

sesja dokleja tylko wtedy ssid do adresu gdy nie moze uzyc cookie, wtedy Ty też nie będziesz mogl ich użyć...

patrzylem na temat z linku - niektore proxy maja ciastka u siebie a nie u usera... dodam Ci że wtedy za dużo nie zrobisz bo każde cookie będzie się tak zapisywać...


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
konrados
post 1.08.2008, 12:40:54
Post #6





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Cytat
ale sesje zawsze używają ciastek poza momentem gdy user ma wylaczone cookie w przegladarce, wtedy dokleja ssid... więc po co kobinować?


Jak user ma wyłączone cookies wywalam błąd smile.gif

Dobra, to ja rozumiem, że moja koncepcja oparcia się tylko na cookies sama w sobie nie jest zła. Dzięki za informacje, że niektóre proxy cachują cookies - nie wiedziałem, a to by wyjaśniało ten problem.
Update: choć z drugiej strony ten użytkownik nie ma problemu z innymi stronami gdzie jest logowanie, eh... kolejna niewyjaśniona tajemnica w mojej kolekcji smile.gif

Jeszcze jedna drobnostka - domyślnie sesje wygasają natychmiast lub krótko po zamknięciu przeglądarki, prawda? Tym samym nieda się zrobić by serwis zapamiętywal pomiędzy sesjami fakt, iż user był zalogowany. Dałoby się męcząc się z ustawieniem session cookie timeout, ale czy zwykłe użycie cookies (bezpośrednio) nie jest łatwiejsze?

Ten post edytował konrados 31.07.2008, 14:17:48
Go to the top of the page
+Quote Post
bełdzio
post 1.08.2008, 12:45:16
Post #7





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


jeszcze jedna kwestia, jak strona bedzie podatna na XSS to kradziez danych usera bedzie mega prosta


--------------------
Go to the top of the page
+Quote Post
konrados
post 1.08.2008, 14:39:03
Post #8





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No ale przecież jak strona będzie podatna na xss to nie ma znaczenia czy cookies czy sesje prawda? Kradnąc cookie można przecież ukraść id sesji, czy nie ?
Go to the top of the page
+Quote Post
dadexix
post 1.08.2008, 22:40:23
Post #9





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


Cytat
Jeszcze jedna drobnostka - domyślnie sesje wygasają natychmiast lub krótko po zamknięciu przeglądarki, prawda? Tym samym nieda się zrobić by serwis zapamiętywal pomiędzy sesjami fakt, iż user był zalogowany. Dałoby się męcząc się z ustawieniem session cookie timeout, ale czy zwykłe użycie cookies (bezpośrednio) nie jest łatwiejsze?
zależy od ustawień przeglądarki/ustawien tego jak sie wysyła cookie(nie pamietam)

Cytat
No ale przecież jak strona będzie podatna na xss to nie ma znaczenia czy cookies czy sesje prawda? Kradnąc cookie można przecież ukraść id sesji, czy nie ?
sesje sprawdzają jeszcze IP, system operacyjny, przeglądarkę, wersje etc...

http://wortal.php.pl/wortal/artykuly/php/a...handler_czesc_i

poczytaj może coś się dowiesz i zrobisz jak chcesz:)

Co wg. Ciebie przeciw sessją a co za cookie - zapewne jakieś rozwiązania już są


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
rybik
post 1.08.2008, 23:07:13
Post #10





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 29.07.2006

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


rozwiązanie każdy lubi swoje, jedno co można z pewnością powiedzieć to "nie trzymaj niezakodowanych haseł w ciastkach"
Go to the top of the page
+Quote Post
bełdzio
post 1.08.2008, 23:13:49
Post #11





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


Cytat(konrados @ 1.08.2008, 15:39:03 ) *
No ale przecież jak strona będzie podatna na xss to nie ma znaczenia czy cookies czy sesje prawda? Kradnąc cookie można przecież ukraść id sesji, czy nie ?

sesje maja wiecej mozliwosci zabezpieczen -> popatrz tu http://www.beldzio.com/bezpieczenstwo-mechanizmu-sesji.freez


--------------------
Go to the top of the page
+Quote Post
konrados
post 2.08.2008, 09:31:43
Post #12





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


OK, dzięki wszystkim, jeszcze raz to przemyślę smile.gif
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:22