Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sesja, Czas trwania - Cookie?
xamrex
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


Witam,
Mam pytanie odnośnie sesji i cookisów.

Otóż załóżmy, że zaloguje się na jakiejś stronie www(powiedzmy na stronie www.nasza-klasa.pl) i teraz jeśli odwiedzę ją np. po 15 dniach, to będę wylogowany i będę musiał zalogować się na stronie.
Czym to jest spowodowane? Wygaśnięciem cookisa, czy może ma to coś związanego z sesją.

Może sprecyzuję co chcę osiągnąć i czy to jest możliwe.
Załóżmy, że wchodzę na portal nasza-klasa.pl, loguję się i zamykam przeglądarkę.

Otwieram przeglądarkę (nie wchodzę na nasza-klasa.pl) np. po 15 dniach, i czy jest możliwość, abym teraz zmodyfikował cookie tak, że jak wejdę na tę stronę, to będę dalej zalogowany?

Czy takiej rzeczy nie da się zrobić?
Go to the top of the page
+Quote Post
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Nie da się.


--------------------

Go to the top of the page
+Quote Post
xamrex
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


Cytat(potreb @ 1.01.2011, 14:39:08 ) *
Nie da się.

Nie da się,bo ten czas po jakim jest użytkownik wylogowywany ustawiony jest na serwerze(gdzie stoi strona) tak?
A da się chociaż jakoś sprawdzić, po ilu godzinach/dniach, użytkownik zostanie wylogowany?
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


A sprawdziłeś chociaż że się nie da? Gdy zapisujesz ciasteczko w php masz możliwość ustawienia czasu wygasania. Możesz ustawić na tyle czasu na ile uważasz. Ciasteczko jest zapisywane na twoim komputerze. Jeżeli chcesz edytować cookiesy, możesz skorzystać z dodatków do Firefoxa.


--------------------

Go to the top of the page
+Quote Post
xamrex
post
Post #5





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


Cytat(potreb @ 1.01.2011, 16:25:35 ) *
A sprawdziłeś chociaż że się nie da?


Łoł...
Naprawdę trudno się z Tobą dogadać.
Przecież SAM napisałeś, że się nie da (w poście numer 2), to po co ja mam to sprawdzać.
Wiem, że mam możliwość w php ustawienia czasu wygasania, ale tylko wtedy kiedy mam dostęp do serwera (do plików)

Ja Nie mam dostępu do serwera, więc nie mogę tego czasu edytować.

Załóżmy, że czas wygaśnięcia ustawiony jest na 5 dni.
Czy jeśli po opuszczeniu strony, edytuję cookisa i zmienię, że czas wygaśnięcia jest np. w styczniu 2012, to jeśli wrócę na tą stronę po np. 15 dniach (z tym zmienionym cookisem, który ma przedłużoną "żywotność") to będę zalogowany dalej?
Czy to tak nie działa?


W skrócie załóżmy, że chcę być zalogowany na tym forum, nawet jeśli wrócę dopiero na to forum po 1 miesiącu, to chcę być zalogowanym (aby nie musieć się znowu logować). Czy jeśli przedłużę teraz żywotność cookisa (do 2012) i wrócę tutaj za 1 miesiąc to będę dalej zalogowany?
Go to the top of the page
+Quote Post
esos
post
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 7.08.2005
Skąd: zabrze

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


Mam nadzieję, że nie ma takiej możliwości.

Do fajnych sytuacji by to doprowadziło: wchodzisz na czyjś komputer (tzn siadasz przy nim fizycznie), zaczynasz grzebać w cookies, 'aktywujesz' sobie status zalogowania przesuwając datę wygaśnięcia, wchodzisz na czyjeś konto na n-k w sumie bez logowania i czynisz co chcesz smile.gif nie myślę już o poczcie, czy bardziej newralgicznych miejscach typu bank...
Go to the top of the page
+Quote Post
xamrex
post
Post #7





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


A da się chociaż jakoś sprawdzić, po ilu godzinach/dniach, użytkownik zostanie wylogowany?
Go to the top of the page
+Quote Post
Crozin
post
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Odpowiedź do pytania (z pierwszego postu) jest jedna: to zależy.

Wszystko zależy od tego jak działa ich mechanizm uwierzytelniania na serwerze. Jeżeli opiera się on wyłącznie na identyfikatorze pochodzącym z ciasteczka i nie mają w zwyczaju usuwać przestarzałych (z ich punktu widzenia) danych to tak - będziesz mógł przedłużyć żywotność swojej sesji zmieniając żywotność ciasteczka.

W praktyce jest to raczej mało prawdopodobne, bo:
1. Zapewne poza identyfikatorem z ciasteczka sprawdzają inne rzeczy (np. adres IP), które mogą się w ciągu tych 15 dni zmienić.
2. Zapewne przestarzałe dane na serwerze (czy to w postaci plików, rekordów w bazie lub bezpośrednio w pamięci) są usuwane częściej niż raz w miesiącu.
3. Najprawdopodobniej w samej sesji (ależ nie lubię tego określenia) jest zapisany czas jej wygaśnięcia, więc nawet jeżeli uda Ci się ją przywrócić po tych 15 dniach, system uzna że sesja wygasła -> wyloguje cię.

Cytat
A da się chociaż jakoś sprawdzić, po ilu godzinach/dniach, użytkownik zostanie wylogowany?
Być może żywotność sesji jest równa żywotności ciasteczka (nawet często się to zdarza). Jednak nie zawsze tak jest - wtedy musisz się zalogować (bo wylogowanie będzie świadczyło i utraceniu sesji), i spróbować odświeżyć stronę po X minutach. Podstawowe długości jakich się używa to: 10, 15, 24, 30, 60 minut.

Ten post edytował Crozin 2.01.2011, 15:46:00
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 - 09:59