0
votes

So i tried to add a cookie with this code below :

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

I checked through the Firefox DevTools, and it shows on the Storage that my cookie is successfully stored to the browser. It has the 'myCookie' name with the long value stored.

However, it shows error in my laravel

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

  1. in Encrypter.php line 138
  2. at HandleExceptions->handleError(8, 'unserialize(): Error at offset 0 of 1 bytes', 'C:\xampp\htdocs\motov2\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php', 138, array('payload' => array('iv' => 'Ha4bCinX6IE4ZAPUFNH/yg==', 'value' => 'ZtU/aFbVnW42+HMqm8NhCw==', 'mac' => '3a0fcdb4605b989ccc3603b8dcadf869688a4539662f19310c9592ce9c059e0c'), 'unserialize' => true, 'iv' => '�)��8d���', 'decrypted' => '1'))
  3. at unserialize('1') in Encrypter.php line 138
  4. at Encrypter->decrypt(array('iv' => 'Ha4bCinX6IE4ZAPUFNH/yg==', 'value' => 'ZtU/aFbVnW42+HMqm8NhCw==', 'mac' => '3a0fcdb4605b989ccc3603b8dcadf869688a4539662f19310c9592ce9c059e0c')) in EncryptCookies.php line 95
  5. at EncryptCookies->decryptCookie('["eyJpdiI6IkhhNGJDaW5YNklFNFpBUFVGTkhcL3lnPT0iLCJ2YWx1ZSI6Ilp0VVwvYUZiVm5XNDIrSE1xbThOaEN3PT0iLCJtYWMiOiIzYTBmY2RiNDYwNWI5ODljY2MzNjAzYjhkY2FkZjg2OTY4OGE0NTM5NjYyZjE5MzEwYzk1OTJjZTljMDU5ZTBjIn0="]') in EncryptCookies.php line 76

Thanks before for your help.

1

1 Answers

1
votes

This is a conflict between your javascript cookie and Laravel's automatic cookie encryption.

Go to /app/Http/Middleware/EncryptCookies.php and add your cookie to the list of exceptions:

protected $except = [
    'myCookie'
];