2017-05-05 17 views
0

所以我試圖添加一個cookie與下面這段代碼:通過JavaScript添加的cookie造成我laravel錯誤

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

我通過火狐DevTools檢查,它顯示了存儲該我的cookie已成功存儲到瀏覽器。它具有存儲長值的'myCookie'名稱。

然而,它示出了在我的laravel

ErrorException在Encrypter.php管線138錯誤: 反序列化():錯誤在偏移0的1個字節

  1. 在Encrypter.php line 138
  2. at HandleExceptions-> handleError(8, 'unserialize():Error in offset 0 of 1 bytes', 'C:\ xampp \ htdocs \ motov2 \ vendor \ laravel \ fr amework \ 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. 在Encrypter.php管線138
  4. 在Encrypter->解密反序列化( '1')(陣列( 'IV'=> 'Ha4bCinX6IE4ZAPUFNH/YG ==', '值' =>「ZtU/aFbVnW42 + HMqm8NhCw ==','mac'=>'3a0fcdb4605b989ccc3603b8dcadf869688a4539662f19310c9592ce9c059e0c')) in EncryptCookies.php line 95
  5. 在EncryptCookies-> decryptCookie( '[ 「eyJpdiI6IkhhNGJDaW5YNklFNFpBUFVGTkhcL3lnPT0iLCJ2YWx1ZSI6Ilp0VVwvYUZiVm5XNDIrSE1xbThOaEN3PT0iLCJtYWMiOiIzYTBmY2RiNDYwNWI5ODljY2MzNjAzYjhkY2FkZjg2OTY4OGE0NTM5NjYyZjE5MzEwYzk1OTJjZTljMDU5ZTBjIn0 =」]') 在EncryptCookies.php行之前76

感謝您的幫助。

回答

1

這是您的javascript cookie和Laravel的自動cookie加密之間的衝突。

轉到/app/Http/Middleware/EncryptCookies.php和您的Cookie添加到例外列表中:

protected $except = [ 
    'myCookie' 
]; 
+0

感謝您的幫助 – efraim

相關問題