Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Sesja po zamknięciu przegladarki?, Zrezygnowac z sesji na rzecz cookies?
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.
Mam pewien problem. Potrzebuje przerobić pewien skrypt tak, żeby po zrestartowaniu przeglądarki cąła sesja zostawała przywrócona spowrotem.

Czy jest na to jakiś sposób, czy trzeba zrezygnowac całkowicie z sesji na rzecz cookies?

Pozdr.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Nie rezygnuj z żadnej sesji smile.gif

Zapoznaj się z tym i tym

Jak sie już zapoznasz to ustaw odpowiednio długi czas życia ciasteczka za pomocą pierwszej funkcji i ustaw taki sam czas dla zmiennej konf. session.gc_maxlifetime.

W sumie możesz też ustawić czas życia ciasteczka też poprzez konfiga session.cookie_lifetime (0 - oznacza właśnie kasuj po zamknięciu przeglądarki).

i to Ci w sumie powinno wystarczyć - masz źródła - działaj wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
Wasper
post
Post #3





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


nie rezygnuj z sesji
cookiesy moze Ci pozmianiac nawet pani Gienia z piekarni u Lucjana, no chyba, ze beda dobrze zaszyfrowane tongue.gif
Ale sesja to dobra rzecz, kolega wyzej dobrze prawi smile.gif
Go to the top of the page
+Quote Post
kukix
post
Post #4





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(Sephirus @ 7.02.2013, 13:33:36 ) *
Nie rezygnuj z żadnej sesji smile.gif

Zapoznaj się z tym i tym

Jak sie już zapoznasz to ustaw odpowiednio długi czas życia ciasteczka za pomocą pierwszej funkcji i ustaw taki sam czas dla zmiennej konf. session.gc_maxlifetime.


Zapoznałem się z mechanizmem "session_set_cookie_params", jednak nie wszystko jest jasne.
Znalazłem ciekawy przykład:

  1. <?php
  2.  
  3. $Lifetime = 3600*24*30;//miesiac
  4. $Seperator = (strstr(strtoupper(substr(PHP_OS, 0, 3)), "WIN")) ? "\\" : "/";
  5. $DirectoryPath = dirname(__FILE__) . "{$Seperator}SessionData";
  6. is_dir($DirectoryPath) or mkdir($DirectoryPath, 0777);
  7.  
  8. if (ini_get("session.use_trans_sid") == true) {
  9. ini_set("url_rewriter.tags", "");
  10. ini_set("session.use_trans_sid", false);
  11.  
  12. }
  13.  
  14. ini_set("session.gc_maxlifetime", $Lifetime);
  15. ini_set("session.gc_divisor", "1");
  16. ini_set("session.gc_probability", "1");
  17. ini_set("session.cookie_lifetime", "0");
  18. ini_set("session.save_path", $DirectoryPath);
  19.  
  20. ?>



Niebardzo rozumie do czego jest potrzebna ta ścieżka? Czy tam zapisywana jest cała sesja a w cookies tylko odnosnik do tej sesji?
Go to the top of the page
+Quote Post
Sephirus
post
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Tobie wystarczy tyle:

  1. $Lifetime = 3600; // w sekundach - czyli godzina (przykładowo)
  2.  
  3. ini_set("session.gc_maxlifetime", $Lifetime); // dajesz ten czas do GC aby Ci nie usunął sesji wcześniej po stronie PHP
  4. ini_set("session.cookie_lifetime", $Lifetime); // i dajesz go też jako czas życia ciastka
  5. session_start(); // startujesz sesję


Tyle wink.gif

Tamten przykład jest bardziej pogmatwany i tam też jest zapis sesji w innym miejscu niż domyślne w PHP - to Ci na nic nie potrzebne.


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
kukix
post
Post #6





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(Sephirus @ 11.02.2013, 13:04:17 ) *
Tobie wystarczy tyle:


dodałem taki kod przed session_start() jednak po zamknięciu przegladarki sesja dalej nie jest pamiętana. Otwieram od nowa przegladarke i nie ma sesji sad.gif

Czy robię coś źle? O czymś powininenem jeszcze pamiętac?

Ten post edytował kukix 11.02.2013, 13:01:09
Go to the top of the page
+Quote Post
Sephirus
post
Post #7





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Sęk w tym że to starcza normalnie - sprawdziłem u siebie bo już sam myślałem że o czymś zapomniałem... FF, Chrome, Opera - śmiga. Sprawdź dokładnie jeszcze u siebie...


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
kukix
post
Post #8





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(Sephirus @ 11.02.2013, 14:05:11 ) *
Sęk w tym że to starcza normalnie - sprawdziłem u siebie bo już sam myślałem że o czymś zapomniałem... FF, Chrome, Opera - śmiga. Sprawdź dokładnie jeszcze u siebie...




Wyczyściłem kod z kilku smieci i dziąła wyśmienicie.. Jestem Ci bardzo wdizeczny za pomoc..

Czy jest sznasa, żeby różne mianne miały różną długość życia? Np, żeby można było sobie przy lgoowaniu zaznaczyć "Autologowanie".. jednak gdy jest odznaczone, żeby sesja pamiętała wszystkie zxmienne oprócz loginu i hasła?
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: 21.08.2025 - 04:28