2017-09-17 39 views
1

之後刪除會話存儲,當我遇到在那裏,如果我註銷,然後刪除該框架存儲會話中的錯誤,它是扔了以下內容:HttpException註銷

"message": "", 
"exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException", 
"file": "C:\\wamp64\\www\\leadbind\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php", 
"line": 203, 

這是令人沮喪的,因爲它給沒有跡象表明問題是什麼。除了這個錯誤,我的登錄/註銷完美無缺。

這是怎麼發生的?我也使用AuthenticateSession中間件。這是一個問題,因爲當有人在2小時後重新打開瀏覽器並嘗試登錄時,他們每次都會收到此錯誤。

編輯:經過進一步調查,看起來這是由於TokenMismatchException。爲什麼會發生這一切?

回答

0

TokenMismatchExceptions發生在您的CSRF已經過時了。這是爲了防止有人拿到CSRF令牌時發送給您的Web應用程序的惡意內容,因爲該頁面仍處於打開狀態。您可以檢查Laravel Caffeine如何使這些令牌輕鬆刷新,或在收到此類錯誤時自行刷新頁面。

在各種Web應用程序上發生這種錯誤很多,您可能會收到消息「此頁面已打開太久」或「請刷新」或在獲得「登錄」後彈出您已將應用程序保留一晚左右。這些機制(有時)是因爲應用程序需要一個新的令牌。