Skip to content

Commit 0e0b8d2

Browse files
authored
fix secure cookie (#4566)
1 parent 342bf69 commit 0e0b8d2

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

lib/Alchemy/Phrasea/Controller/Root/RootController.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,21 @@ public function getRoot()
3737
public function setLocale($locale)
3838
{
3939
$response = $this->app->redirectPath('root');
40-
$response->headers->setCookie(new Cookie('locale', $locale, 0, '/', null, true, false));
40+
41+
$cookiePath = ini_get('session.cookie_path');
42+
$cookieDomain = ini_get('session.cookie_domain');
43+
$cookieHttpOnly = ini_get('session.cookie_httponly');
44+
$cookieSecure = ini_get('session.cookie_secure');
45+
46+
$response->headers->setCookie(new Cookie(
47+
'locale',
48+
$locale,
49+
0,
50+
$cookiePath,
51+
empty($cookieDomain)? null : $cookieDomain,
52+
$cookieSecure ? true: false,
53+
$cookieHttpOnly ? true : false
54+
));
4155

4256
$authenticatedUser = $this->getAuthenticatedUser();
4357

lib/Alchemy/Phrasea/Core/Event/Subscriber/PhraseaLocaleSubscriber.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,20 @@ public function addLocaleCookie(FilterResponseEvent $event)
8181
$cookies = $event->getRequest()->cookies;
8282

8383
if (isset($this->locale) && (false === $cookies->has('locale') || $cookies->get('locale') !== $this->locale)) {
84-
$event->getResponse()->headers->setCookie(new Cookie('locale', $this->locale, 0, '/', null, true, false));
84+
$cookiePath = ini_get('session.cookie_path');
85+
$cookieDomain = ini_get('session.cookie_domain');
86+
$cookieHttpOnly = ini_get('session.cookie_httponly');
87+
$cookieSecure = ini_get('session.cookie_secure');
88+
89+
$event->getResponse()->headers->setCookie(new Cookie(
90+
'locale',
91+
$this->locale,
92+
0,
93+
$cookiePath,
94+
empty($cookieDomain)? null : $cookieDomain,
95+
$cookieSecure ? true: false,
96+
$cookieHttpOnly ? true : false
97+
));
8598
}
8699
}
87100
}

0 commit comments

Comments
 (0)