javascript - 通过 javascript 添加 cookie 导致我的 laravel 错误

标签 javascript laravel cookies

所以我尝试使用以下代码添加 cookie:

var anArray = ["eyJpdiI6IkhhNGJDaW5YNklFNFpBUFVGTkhcL3lnPT0iLCJ2YWx1ZSI6Ilp0VVwvYUZiVm5XNDIrSE1xbThOaEN3PT0iLCJtYWMiOiIzYTBmY2RiNDYwNWI5ODljY2MzNjAzYjhkY2FkZjg2OTY4OGE0NTM5NjYyZjE5MzEwYzk1OTJjZTljMDU5ZTBjIn0="];
document.cookie = "myCookie="+JSON.stringify(anArray);

我通过 Firefox DevTools 检查,它在存储上显示我的 cookie 已成功存储到浏览器中。它的名称为“myCookie”,并存储了长值。

但是,它在我的 laravel 中显示错误

ErrorException in Encrypter.php line 138: unserialize(): Error at offset 0 of 1 bytes

  1. 在 Encrypter.php 第 138 行
  2. 在 HandleExceptions->handleError(8, 'unserialize(): 1 字节偏移量 0 处出错', 'C:\xampp\htdocs\motov2\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php', 138、数组('有效负载'=>数组('iv'=>'Ha4bCinX6IE4ZAPUFNH/yg==', '值' => 'ZtU/aFbVnW42+HMqm8NhCw==', 'mac' => '3a0fcdb4605b989ccc3603b8dcadf869688a4539662f19310c9592ce9c059e0c'), '反序列化' => true,'iv' => '�)��8d���','解密' => '1'))
  3. 位于 Encrypter.php 第 138 行中的 unserialize('1')
  4. 在 Encrypter->decrypt(array('iv' => 'Ha4bCinX6IE4ZAPUFNH/yg==', 'value' => 'ZtU/aFbVnW42+HMqm8NhCw==', 'mac' => '3a0fcdb4605b989ccc3603b8dcadf869688a4539662f19310c9592ce9c059e0c')) 在 EncryptCookies.php 第 95 行
  5. 在 EncryptCookies->decryptCookie('["eyJpdiI6IkhhNGJDaW5YNklFNFpBUFVGTkhcL3lnPT0iLCJ2YWx1ZSI6Ilp0VVwvYUZiVm5XNDIrSE1xbThOaEN3PT0iLCJtYWMiOiIzYTBmY2RiNDYwNWI5ODljY2MzNjA zYjhkY2FkZjg2OTY4OGE0NTM5NjYyZjE5MzEwYzk1OTJjZTljMDU5ZTBjIn0="]') 在 EncryptCookies.php 第 76 行

之前感谢您的帮助。

最佳答案

这是您的 javascript cookie 和 Laravel 的自动 cookie 加密之间的冲突。

转到 /app/Http/Middleware/EncryptCookies.php 并将您的 Cookie 添加到异常(exception)列表中:

protected $except = [
    'myCookie'
];

关于javascript - 通过 javascript 添加 cookie 导致我的 laravel 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43798540/

相关文章:

php - 如果在 laravel5 中调用 DB::beginTransaction 而没有使用 DB::commit() 会发生什么?

php - 资源 Controller 的 Laravel 命名路由

javascript - Windows 上的 RequireJs 优化失败

javascript - 用于将 2D 多边形横截面转换为 1D 几何图形的工具或库?

javascript - 根据在另一个下拉列表中选择的值填充下拉列表

php - Laravel - 服务提供者 - 绑定(bind)多个类

iphone nsurlconnection 读取cookie

c# - 如何更改 HttpWebRequest cookies?

Javascript websocket 客户端将 cookie 添加到 header

javascript - 使用 d3 将累积百分比线拟合到排序后的直方图输出,以获得帕累托图直方图