Laravel:用户在会话过期后注销

时间:2017-09-20 10:56:20

标签: php laravel laravel-5

我正在使用Laravel 5.5和常规提供的身份验证。

场合: 用户离开计算机2小时(默认会话超时),在离开办公室之前,他点击了退出。

问题: 用户收到以下错误:

  

由于不活动,该页面已过期。   请刷新并重试。

刷新页面无效。再次显示相同的消息。

使用Laravel 5.4,我遇到以下错误:

  

VerifyCsrfToken.php中的TokenMismatchException(第68行)

注销链接位于布局app.blade.php中,并且尚未更改:

<li>
    <a href="{{ route('logout') }}"
       onclick="event.preventDefault();
                document.getElementById('logout-form').submit();">
        <span class="glyphicon glyphicon-off"></span>
        Logout
    </a>

    <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
        {{ csrf_field() }}
    </form>
</li>

问题 当用户点击退出时,如何避免csrf验证?

1 个答案:

答案 0 :(得分:-1)

我刚在App\Http\Middleware\VerifyCsrfToken.php

中添加了一个例外
/**
 * The URIs that should be excluded from CSRF verification.
 *
 * @var array
 */
 protected $except = [
    'logout'
 ];

Ajay Deepak Kumar和Omisakin Oluwatobi是对的。这使网站容易受到攻击。