Duplicitní session cookie – new.domain.test a .domain.test
- mkoula
- Backer | 52
Mám několika krokový formulář. Pokud reloaduju stránku nebo chci jít na další krok, ale session vyexpirovala, tak redirectnu na porvní krok.
Problém je, že ne vždy, ale „často“ na to abych si toho všimnul, že se vytvoří nová session cookie, ale ne na v konfigu uvedenou subdoménu, ale na primíární doménu. Děje se to i na live serveru.
Pak je situace taková, že se aplikace začne hádat a session v podstatě nefunguje, dokud nesmažu obě PHPSESSID cookies.
Má lokální config.neon a v něm následující:
domain: domain: new.seyvillas.test
session:
expiration: 14 days
cookieDomain: %domain%
autoStart: true
cookieSamesite: None # (Strict|Lax|None) default is Lax
http:
cookieDomain: %domain%
cookieSecure: true
V local.neon přepíšu délku
session:
expiration: 30 minutes
debugger: true
První jak je vidět, je na 30 minut:
A druhá na 2 týdny:
Nenapadá někoho, kde je zakopaný pes? Proč se vytváří PHPSESSID na doméně druhé úrovně a ne třetí, když jí v konfiugu nikde nemám?
Editoval mkoula (26. 2. 12:37)
- Marek Bartoš
- Nette Blogger | 1177
Nějaký third-party kód?
Zkus si v configu Nette změnit název cookie. Pokud je to nějaký kód mimo
Nette, tak se ti vytvoří druhá cookie a konflikt se vyřeší (alespoň
v případě, kdy Nette a ten problematický skript neběží během jednoho
requestu).
session:
name: SID
Editoval Marek Bartoš (26. 2. 15:47)