解密laravel会话cookie时unserialize()出错
我试图解密Laravel5.7会话cookie(在请求中传递),以验证websocket中的用户解密laravel会话cookie时unserialize()出错,laravel,laravel-5,encryption,cookies,laravel-5.7,Laravel,Laravel 5,Encryption,Cookies,Laravel 5.7,我试图解密Laravel5.7会话cookie(在请求中传递),以验证websocket中的用户 use Illuminate\Support\Facades\Crypt; ... $cookie = $request->get('session_cookie') $sessionId = Crypt::decrypt($cookie); 然而,我总是得到: unserialize(): Error at offset 0 of 40 bytes 我已经尝试清除客户端上的Cookie,
use Illuminate\Support\Facades\Crypt;
...
$cookie = $request->get('session_cookie')
$sessionId = Crypt::decrypt($cookie);
然而,我总是得到:
unserialize(): Error at offset 0 of 40 bytes
我已经尝试清除客户端上的Cookie,重新启动服务器并用重置应用程序密钥
php artisan key:generate
Laravel对V5.6.30中处理cookie的方式进行了更改,以提高安全性。可能是您试图解密未序列化的内容,反之亦然。您可以尝试以下几种方法:
$sessionId = Crypt::decrypt($cookie, false);
或者,在中间件app\Http\middleware\EncryptCookies.php
中,您可以将其翻转以进行测试:
添加:protectedstatic$serialize=true代码>