Jak správně nastavit secure parametr u PHPSESSID

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lukas-sieber
Člen | 4
+
0
-

Ahoj,

snažím se tu správně nastavit secure parametr pro PHPSESSID.

V php.ini je session.cookie_secure zapnutý.

config.neon mám nastaveno:

session:
	autoStart: smart
	cookieSecure: true
	expiration: 14 days

PHPSESSID ale pořád nemá parametr secure nastaven.

Nevíte, kde by mohl být problém?

Díky.

iguana007
Člen | 970
+
+1
-

Jen se pro jistotu zeptám, testuješ to na https://, že?

Jinak ja si to nastavil globalně v htaccess:
Header always edit Set-Cookie "(?i)^((?:(?!;\s?secure).)+)$" "$1; secure"

lukas-sieber
Člen | 4
+
0
-

Ano, na HTTPS to testuji.

Přepisovat to tímto způsobem bude asi poslední možnost. Pokud to nepůjde vyřešit lépe.

Na subdoméně, kde neběží Nette a stará se o nastavení přímo PHP (session_start()), se secure parametr v pohodě zapne.

jiri.pudil
Nette Blogger | 1028
+
0
-

Blbá otázka, já vím, ale… smazal jsi cache?

lukas-sieber
Člen | 4
+
0
-

Cache jsem smazal, stejně jako jsem smazal COOKIES, aby se mohla vytvořit nová.

A secure parametr stále nenastaven.

V cache je aktuálně:

public function createServiceSession__session()
{
	$service = new Nette\Http\Session($this->getService('http.request'), $this->getService('http.response'));
	$service->setExpiration('14 days');
	$service->setOptions(array('cookieSecure' => TRUE));
	return $service;
}

Takže nette o cookieSecure ví, ale stejně secure není.

Editoval lukas-sieber (1. 12. 2015 15:15)

looky
Člen | 99
+
+3
-
session:
	cookie_secure: true
lukas-sieber
Člen | 4
+
0
-

Díky. To opravdu pomohlo!

Odporuje to ale dokumentaci, kde se píše o camelCase.

jiri.pudil
Nette Blogger | 1028
+
+3
-

To je hodně zvláštní, Nette si s camelCase umí poradit, já to tak mám na serveru bez problému… Jestli chceš, můžeš to zkusit odkrokovat, třeba jsi narazil na nějaký záhadný bug :)

Jakub Bouček
Člen | 54
+
+3
-

jiri.pudil napsal(a):

To je hodně zvláštní, Nette si s camelCase umí poradit, já to tak mám na serveru bez problému… Jestli chceš, můžeš to zkusit odkrokovat, třeba jsi narazil na nějaký záhadný bug :)

Máš pravdu, to tam je, ale jak to tak krokuju u sebe (řeším stejný problém jako iniciátor tohoto threadu), tak je překlad z camelCase v kódu příliš pozdě. Funkce configure($config) je volána už se zdvojenými parametry: konfigurace z Neonu v camelCase sečtená s defaultní konfigurací v undercore_case.

Co mi ale nejde do hlavy, že problém se projevuje jen u secure, ostatní parametry jsou OK.