最近のバージョンのLaravel(正しく)では、セッションをログアウトするためにPOSTが使用されています。この理由は、GET/HEADは受動アクションがHTTPに準拠するためにのみ使用されるべきであるということです。 POSTをトリガする(ただし https://security.stackexchange.com/questions/62769/must-login-and-logout-action-have-csrf-protectionLaravel 5.xで期限切れのセッションをログアウトするにはどうすればよいですか?
セッションが既にタイムアウトした場合、ユーザーがログアウトをクリック:CSRFトークンと
投稿はまたあなたのセッションのうち、あなたがログインし、悪意のあるユーザ/サイトを保護しますログアウト経路に)、トークン不一致エラーが受信される。セッションが期限切れになったため、トークンが一致しません。
要求変数に基づいてその特定のTokenMismatchExceptionを捕まえることができます。もしそうなら、それらをメリー法(ログアウトされたリダイレクトパス、 "home"または "/")で続行してください。このように:
public function render($request, Exception $e)
{
if ($e instanceof TokenMismatchException && $request->getRequestUri() === '/logout') {
return redirect('/');
}
return parent::render($request, $e);
}
私の質問は次のとおりです。私は上記の操作を行う場合は、最初の場所でのトークンのポイントは何ですか?また、CSRFトークンでPOSTログアウトを使用する目的の結果を維持しながら、セッションが終了したときにユーザーをログアウトする方法はありますか?
ログアウトを保護する必要がある場合:http://security.stackexchange.com/questions/62769/must-login-and-logout-action-have-csrf-protection/62797 あなたの質問に答えるには、私に情報を与えてください、どのような機構がセッションをタイムアウトしていますか? – Mkay1
@ Mkay1は、あらゆる種類のタイムアウト(セッションのタイムアウト、セッションの破棄など)を想定しています。あなたが提供したリンクは私の質問にリンクされている同じです – Chris