Ошибка при unserialize () при расшифровке cookie сеанса laravel - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь расшифровать cookie-файл сеанса Laravel 5.7 (переданный в запросе) для аутентификации пользователей в веб-сокете.

use Illuminate\Support\Facades\Crypt;
...
$cookie = $request->get('session_cookie')
$sessionId = Crypt::decrypt($cookie);

Однако я всегда получаю:

unserialize(): Error at offset 0 of 40 bytes

Я уже пытался очистить куки на клиенте, перезагрузил сервер и сбросил ключ приложения с помощью

php artisan key:generate

1 Ответ

0 голосов
/ 23 февраля 2019

Laravel изменил способ обработки файлов cookie с V5.6.30 для повышения безопасности.Возможно, вы пытаетесь расшифровать что-то, что не сериализовано, или наоборот.Вы можете попробовать пару вещей:

$sessionId = Crypt::decrypt($cookie, false);

Или, в промежуточном программном обеспечении app\Http\Middleware\EncryptCookies.php, вы можете перевернуть его для проверки:

add: protected static $serialize = true;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...