2016-09-06 48 views
1

我試圖訪問存儲的Session ID並將其用作參考。laravel 5.2會話ID不斷變化

laravel中,session ID在每個請求中都會不斷變化。我知道這樣做是爲了避免session hijacking

一個可能的解決方案是使用Session::unguard(),但如何使用它?

上面的代碼沒有幫助,因爲session ID不斷髮生變化:

 $ses = session()->getId(); 
    $a =session()->getId();  
    $chat = chatParticipants::where("session_id", $a)->first(); 
+0

你爲什麼不產生一些獨特的價值自己和存儲/檢索呢? –

回答

1

兩個解決方案:

  1. 您可以手動重新生成ID爲每docs

    $request->session()->regenerate();

  2. 存儲每個會話的密鑰,並將其用作參考。

要存儲一個新的關鍵:

`session(['key' => 'value']);` 

要檢索的關鍵:

$value = $request->session()->pull('key', 'default');