Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akci až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tomáš Dvořák:24.5.2018 9:09

Ahoj,

řeším problém se $_SESSION. Používám ho pro vkládání zboží do košíku. Vše funguje v podstatě dobře, jen se mi nějak nelíbí to, že se v průběhu času změní PHPSESSID v prohlížeči, aniž by došlo k zavření okna. Prohlížeč tvrdí, že platnost je do konce relace.

Co to přesně znamená? Cca v 7 jsem dostal PHPSESSID, uspal počítač a přesunul se do kanceláře. V cca 8:30 jsem zkontroloval zda mám stejné PHPSESSID, ale prohlížeč, aniž bych ho zavřel, eviduje jinou hodnotu. Kdy se SESSION mění?

Na serveru mám nastaveno:
session.cooki­e_lifetime 0
session.gc_max­lifetime 1440

Nějaký nápad kde bych měl pátrat?

 
Odpovědět
24.5.2018 9:09
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Tomáš Dvořák
Petr Čech:24.5.2018 9:55

Proč se ti to nelíbí? Obsah session cookie by tě vůbec neměl zajímat, to ať si obstará server.

Nahoru Odpovědět
24.5.2018 9:55
the cake is a lie
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Tomáš Dvořák
Petr Čech:24.5.2018 10:48

To, že se session mění je bezpečnostní feature. Protože je na serveru přesně vymezená platnost, nelze danou session použít potom, co vyprší - takže kdyby se někdo nějakým způsobem tvé session zmocnil, může páchat škodu je po nějakou dobu.

Nahoru Odpovědět
24.5.2018 10:48
the cake is a lie
Avatar
Tomáš Dvořák:24.5.2018 11:21

To ano, ale nelíbí se mi to z důvodu toho, že do košíku to páruji právě pomocí PHPSESSID, které se změní a pak se samozřejmě košík tváří prázdný.

Takže spíše řešit jinak přidávání do košíku?

 
Nahoru Odpovědět
24.5.2018 11:21
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Tomáš Dvořák
Uživatel sítě :24.5.2018 13:14

Proveď závislost košíku na jinou sušenku a máš to.

Edit: Local storage, DB, možností je více i..

Editováno 24.5.2018 13:14
Nahoru Odpovědět
24.5.2018 13:14
Chybami se člověk učí, běžte se učit jinam!
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Tomáš Dvořák
Petr Čech:24.5.2018 13:27

Ale proč na to session ID saháš? Ta samotná hodnota by tě vůbec neměla zajímat, normálně si ulož data do session...
pokud to ukládáš nějak jinak než do session, můžeš si do session vygenerovat na začátku nějaké ID a to potom se řídit podle něj - budeš tak muset měnit méně kódu.
Prodloužení platnosti session nebo dokonce vypnutí přegenerovaní (jestli to vůbec jde) není řešení.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
24.5.2018 13:27
the cake is a lie
Avatar
Tomáš Dvořák:24.5.2018 14:06

ok. na starém hostingu my to fungovalo vcelku dlouho (než se změnilo PHPSESSID). na novém je to v podstatě co "pár" hodin. V tom případě to udělám jinak a nebudu používat PHPSESSID, ale uložím něco do SESSION.

Díky za pomoc!

 
Nahoru Odpovědět
24.5.2018 14:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.