Skip to content

Commit 7ff93fc

Browse files
committed
Session: do not regenerate session ID when is newly created
1 parent fb79e66 commit 7ff93fc

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/Http/Session.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,9 @@ private function initialize(): void
123123
// regenerate empty session
124124
if (empty($nf['Time'])) {
125125
$nf['Time'] = time();
126-
$this->regenerateId(); // ensures that the session was created in strict mode (see use_strict_mode)
126+
if ($this->request->getCookie(session_name())) { // ensures that the session was created in strict mode (see use_strict_mode)
127+
$this->regenerateId();
128+
}
127129
}
128130

129131
// process meta metadata

tests/Http/Session.regenerateId().phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ $ref = 10;
2525

2626
$session->regenerateId();
2727
$newId = $session->getId();
28-
Assert::same($newId, $oldId); // new session is regenerated by $session->start()
28+
Assert::notSame($newId, $oldId);
2929
Assert::true(is_file($path . $newId));
3030

3131
$ref = 20;

0 commit comments

Comments
 (0)