Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Logowanie w oparciu o cookies
Forum PHP.pl > Forum > Przedszkole
konrados
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 ?
kaem
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.
rybik
troche o sesjach i ciasteczkach

http://forum.joomla.pl/showthread.php?t=19747
konrados
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 ?
dadexix
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ć...
konrados
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?
bełdzio
jeszcze jedna kwestia, jak strona bedzie podatna na XSS to kradziez danych usera bedzie mega prosta
konrados
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 ?
dadexix
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ą
rybik
rozwiązanie każdy lubi swoje, jedno co można z pewnością powiedzieć to "nie trzymaj niezakodowanych haseł w ciastkach"
bełdzio
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
konrados
OK, dzięki wszystkim, jeszcze raz to przemyślę smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.