2017-04-02 73 views
0

我從控制檯和Laravel端獲得兩個不同的值。瀏覽器控制檯中的Cookie與從Laravel獲取的Cookie不同

這是我從Laravel側

public function getCookies() { 

    $cookies = \Cookie::get(); 

    dd($cookies); 


} 

enter image description here

編輯1如何獲得:

看來餅乾會時,你得到函數被調用時自動解密。 有沒有什麼辦法可以在不解密的情況下獲得cookie的原始價值?

編輯2

通過包括在除了在EncryptCookies中間件陣列餅乾名稱解決此。如果您有興趣瞭解更多本次討論的,可以參考

  1. https://github.com/laravel/framework/issues/6679
  2. https://github.com/laravel/framework/pull/9150

回答

1

Laravel會自動加密和解密所有的cookies。

由Laravel框架創建的所有Cookie都被加密並使用認證碼進行簽名,這意味着如果客戶端更改了它們,它們將被視爲無效。
來源:https://laravel.com/docs/5.4/requests#cookies

您可以將它添加到$except array in the EncryptCookies middleware排除從自動加密的cookie。

+0

我已經在except數組中包含了cookie名稱。但不幸的是,它仍然給我空。 – geckob

+0

僅供參考,cookie由Javascript設置,而不是Laravel。我只需要閱讀Laravel方面 – geckob

+0

奧普斯。我做了一些愚蠢的事情。我在Illuminate文件夾中添加了除了本地中間件外的其他文件。除了數組外,其他都是空的 – geckob