Některé uživatele aplikace nepřihlásí

Marek Znojil
Člen | 88
+
0
-

Zdravím,

v poslední době se nám sem tam ozvou zákazníci, že je stránka po přihlášení vlastně nepřihlásí. Zajímavé je, že se to dnes stalo i u člověka, kterému mu to do teď šlo. Netušíte, kde by mohl být problém?

Nastavení session:

session:
	autoStart: smart
	cookieSamesite: None
	debugger: true
	expiration: 14 days
	name: sid

Mně osobně se chybu doteď nedařilo nějak nasimulovat.

Marek Znojil
Člen | 88
+
0
-

Ještě si vybavuji, že nám kdysi roboti procházením vyčerpávali maximální počet inodů. Při každém znovu načtení se vždy vytvořilo nové sezení. Tehdy jsem to vyřešil tak, že jsem ochranu proti CSRF zapnul pouze pro přihlášené a omezil také používání metody storeRequest() aby se to opět nezahltilo.

Dle všeho to možná souvisí? Protože to vypadá tak, že se aktuálně vytvořené sezení po znovu načtení není zapamatováno (Jen u některých uživatelů, ale proč?).

Neřešil jste náhodou někdo něco podobného?

Marek Znojil
Člen | 88
+
0
-

Opravdu nikoho nic nenapadá?

Pavel Kravčík
Člen | 1195
+
+2
-

Ideálně od těch konkrétních klientů zkus vyžádat F12->Application->Cookies screen. Vypadá to, že tam pravděpodobně bude, ale z nějakého důvodu nevalidní.

Plus bych prověřil verze na základě tohohle: https://forum.nette.org/…uboru-za-den#…

Marek Znojil
Člen | 88
+
0
-

Pavel Kravčík napsal(a):

Ideálně od těch konkrétních klientů zkus vyžádat F12->Application->Cookies screen. Vypadá to, že tam pravděpodobně bude, ale z nějakého důvodu nevalidní.

Plus bych prověřil verze na základě tohohle: https://forum.nette.org/…uboru-za-den#…

Ahoj, děkuji ti, to mě nenapadlo, zkusím.

Jinak verzi nette/http mám 3.3.

Marek Znojil
Člen | 88
+
0
-

Tak mi tedy klient poslal toto:

Zde jsou cookies sid po vykonání akce, po které se má vytvořit session, neexistuje-li:

A zde po znovu načtení stránky:

Nechápu ten tvar delší sid, vůbec tomu nerozumím v jakém bodě se to může vytvářet. Ta delší, zdá se nahradí tu kratší (správnou) a proto se neuchová původní sezení.

Delší sid je ještě k tomu platná pro doménu bez www a kratší správně pro verzi s www. Tuší někdo, proč se tak děje?

Editoval Marek Znojil (Včera 15:24)

Marek Znojil
Člen | 88
+
0
-

Tak to vypadá na tvar sid seznamu, ale proč ji prohlížeč ukazuje klientovi vytvořenou pod naší doménou netuším.

Marek Bartoš
Nette Blogger | 1261
+
0
-

Tak to vypadá na tvar sid seznamu, ale proč ji prohlížeč ukazuje klientovi vytvořenou pod naší doménou netuším.

Spíš si projdi nastavení session před spuštěním a po spuštění Nette aplikace. Případně pokud tam máte nějaký skript pracující se session, bez Nette – to bys mohl potvrdit z dat ze session uložené na serveru.
Podezříval bych session.auto_start a session.sid_length.
Jako jednoduchý workaround by mohlo pomoci změnit session.name, aby Nette vytvořilo cookie s jiným jménem.

Delší sid je ještě k tomu platná pro doménu bez www a kratší správně pro verzi s www.

Máte redirect na www na úrovni webserveru nebo až v php?

Editoval Marek Bartoš (Včera 18:33)