首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解密Laravel 8中的cookie

如何解密Laravel 8中的cookie
EN

Stack Overflow用户
提问于 2020-12-11 07:05:57
回答 1查看 2K关注 0票数 5

最近,我们将我们的Laravel应用程序从5.6升级到了Laravel 8.18.1。我们在RouteServiceProvider.php中使用cookie解密。

HomeController.php

队列(“信道”,“移动”,eyJpdiI6IjJVTGFzZHdEOXpjMk9VTGFFYmlSbXc9PSIsInZhbHVlIjoid0djMW9zbThWOXFQTk5aVXBDNmJBdz09IiwibWFjIjoiZGM4M2U1YTY0ZjVkNTE4NjBlNzg4NTZiNzhkNjdjYzcyODUzZWU1ZWMzNjdkNGNlMTgyZGIwNmQ4NjYzOWM3MSJ9 );//信道加密值=

在Laravel5.6中,它直接将哈希解密为一个值。

RouteServiceProvider.php

代码语言:javascript
复制
$encrypter = app(\Illuminate\Contracts\Encryption\Encrypter::class);
$channel_cookie = $encrypter->decrypt(Cookie::get('channel')); // result "mobile"

在Laravel8.18.1中,它用垂直条将哈希解密为一个值。

RouteServiceProvider.php

代码语言:javascript
复制
$encrypter = app(\Illuminate\Contracts\Encryption\Encrypter::class);
$channel_cookie = $encrypter->decrypt(Cookie::get('channel')); // result "a86aa854d5e61e2873acd30373b6725e36fba671|mobile"
$channel_cookie = explode("|",$channel_cookie)[1]; // result mobile

这是在Laravel 8中解密cookie的安全解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2021-06-29 10:05:56

你可以在这份安全公告中找到你的问题的原因。

https://blog.laravel.com/laravel-cookie-security-releases

代码是laravel做的,这个操作是在下面链接的框架源文件中进行的

https://github.com/laravel/framework/blob/8.x/src/Illuminate/Cookie/CookieValuePrefix.php

在我们的场景中,我们用两个词实现了类似于原始代码的东西: cookie名称被加密,并以|作为分离字符添加到cookie值中。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65247093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档