Generování tří phpsessid – 2.4
- uncanny
- Člen | 19
Ahoj,
nové Nette ^2.4 mi z nějakého důvodu posílá třikrát phpsessid
(dvakrát stejné, jedno odlišné). Ve verzi ^2.3 mi tohle nedělá (není to
ale úplně shodný kód). Neprochází mi pak addProtection u formuláře.
Nejspíš mi něco uniká ohledně session managementu.
Příklad:
Všechny sessions a cache promazány a jdu na stránku https://localhost/…esk/settings, kde je formulář
s CsrfProtection a prohlížeč mi hned pošle tři phpsessid. (Možný
problém ->) Při načítání stránky proběhlo automaticky přihlášení
(SSO), které se volá ve startup funkci BasePresenteru:
protected function startup()
{
parent::startup();
if ( !$this -> getUser() -> isLoggedIn() )
{
try
{
$this -> getUser() -> login();
}
catch ( \Exception $e )
{
return;
}
$this -> userManager -> updateUser ( $this -> userManager -> getUser ( $this -> getUser() -> getId() ) );
}
}
config.neon:
session:
debugger: true
cookie_secure: true
savePath: '%tempDir%/sessions'
autoStart: smart
expiration: 1 day
cookiePath: '/helpdesk'
Zkoušel jsem i autoStart: true, přidat cookieDomain: localhost, naopak
odebrat cookiePath (na serveru běží více Nettích aplikací ale), přidat
lomítko za helpdesk/, ale bez výsledku.
Když odeberu cookie_secure: true, tak se sice pošlou tři phpsessid, ale
CsrfProtection už potom projde.
Snad jsem to popsal dostatečně a pomůže mi někdo. Dík ;)
- ZahorskyJan
- Člen | 59
@uncanny nasel si nejake reseni? ted se mi to pri aktualizaci aplikace taky stalo
- uncanny
- Člen | 19
Bohužel už si nepamatuju, jak jsem to vyřešil a sem jsem to zapomněl
napsat.
Když se ale podívám na kód výše – přihlašování a config.neon, tak
je stejný, jako je v aplikaci teď.
Promiň.
ZahorskyJan napsal(a):
@uncanny nasel si nejake reseni? ted se mi to pri aktualizaci aplikace taky stalo
Editoval uncanny (1. 2. 2018 12:40)
- uncanny
- Člen | 19
@ZahorskyJan Problém mi nastal včera ještě jednou, ale v jiné aplikaci. Tím pádem jsem zjistil, kde byla chyba i původně.
Měl jsem překlep v hodnotě cookiePath, neodpovídala jménu aplikace: helpdesk .
V kódu výše je to správně, ale po poslední úpravě jsem nepromazal cache, takže se to neprojevilo.
Editoval uncanny (19. 4. 2018 17:19)