diff --git a/src/Illuminate/Cookie/Middleware/EncryptCookies.php b/src/Illuminate/Cookie/Middleware/EncryptCookies.php index 0fe5e3222c62..160b9e1fd8c4 100644 --- a/src/Illuminate/Cookie/Middleware/EncryptCookies.php +++ b/src/Illuminate/Cookie/Middleware/EncryptCookies.php @@ -83,7 +83,7 @@ protected function decrypt(Request $request) $value = $this->decryptCookie($key, $cookie); $request->cookies->set( - $key, strpos($value, sha1($key).'|') !== 0 ? null : substr($value, 41) + $key, strpos($value, sha1($key.'v2').'|') !== 0 ? null : substr($value, 41) ); } catch (DecryptException $e) { $request->cookies->set($key, null); @@ -142,7 +142,7 @@ protected function encrypt(Response $response) $response->headers->setCookie($this->duplicate( $cookie, $this->encrypter->encrypt( - sha1($cookie->getName()).'|'.$cookie->getValue(), + sha1($cookie->getName().'v2').'|'.$cookie->getValue(), static::serialized($cookie->getName()) ) )); diff --git a/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php b/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php index 0f24357e20fc..186ee20d719d 100644 --- a/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php +++ b/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php @@ -151,7 +151,7 @@ protected function getTokenFromRequest($request) $token = $request->input('_token') ?: $request->header('X-CSRF-TOKEN'); if (! $token && $header = $request->header('X-XSRF-TOKEN')) { - $token = $this->encrypter->decrypt($header, static::serialized()); + $token = substr($this->encrypter->decrypt($header, static::serialized()), 41); } return $token; diff --git a/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php b/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php index 3aa10c4288b7..275616a49f2b 100644 --- a/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php +++ b/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php @@ -560,8 +560,8 @@ protected function prepareCookiesForRequest() return array_merge($this->defaultCookies, $this->unencryptedCookies); } - return collect($this->defaultCookies)->map(function ($value) { - return encrypt($value, false); + return collect($this->defaultCookies)->map(function ($value, $key) { + return encrypt(sha1($key.'v2').'|'.$value, false); })->merge($this->unencryptedCookies)->all(); }