首页 > 解决方案 > Laravel 相同的 cookie 值

问题描述

我在设置 cookie 时遇到问题。重定向后,我想将一些数据放入 cookie 中以供客户端使用,但问题是 cookie 值。

我使用该表单来设置 cookie:

return redirect($url)
                ->withCookie(cookie('cookieA', 'valueA'))
                ->withCookie(cookie('cookieB', 'valueB'));

在该客户端重定向到之后,$url当我潜入 cookie 时,我看到了这些值:

XSRF-TOKEN : eyJpdiI6ImxEUko5T0EzVG1cLzRLa09sQk0rZHdB...
cookieA : eyJpdiI6ImxEUko5T0EzVG1cLzRLa09sQk0rZHdB...
cookieB : eyJpdiI6ImxEUko5T0EzVG1cLzRLa09sQk0rZHdB...

laravel_session : L7hsdCD6hQBvX1FDM2biFZ3As...

似乎 Laravel 以某种方式改变了 cookie 的值。

我努力了 :

Cookie::queue('cookieA', 'valueA', 45000);
withCookie(cookie()->forever('cookieA', 'valueA'));

结果还是一样

标签: phplaravelcookies

解决方案


通过 Laravel 设置的 Cookie 是加密/签名的。如果你使用

$cookieAValue = Cookie::get('cookieA');

在 Laravel 中,您将获得 cookie 的实际值。如果您使用浏览器的开发工具查看 cookie,您将看到加密值。

https://laravel.com/docs/5.7/requests#cookies


推荐阅读