该页面因不活动而过期。请刷新并重试。 laravel 5.6 使用 laravel 的身份验证

Posted

技术标签:

【中文标题】该页面因不活动而过期。请刷新并重试。 laravel 5.6 使用 laravel 的身份验证【英文标题】:The Page Has Expired Due To Inactivity. Please Refresh And Try Again. laravel 5.6 using auth of laravel 【发布时间】:2018-09-04 08:59:31 【问题描述】:

laravel 版本:5.6(最新)php 版本:7.1.14 系统:Linux Server API:Apache 2.0 Handler

我的问题是,当我在 localhost 中运行应用程序时,它工作正常,但是当我将它上传到服务器主页时工作正常,但是当我尝试登录或尝试注册时,它显示错误:

"The page has expired due to inactivity. Please refresh and try again"

当我刚刚删除了里面的views文件夹 /public_html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/ 然后我得到这个:

Symfony\Component\HttpKernel\Exception\HttpException …/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php204 44 Illuminate\Foundation\Exceptions\HandlerprepareException …/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php176 43 Illuminate\Foundation\Exceptions\Handler 渲染 …/app/Exceptions/Handler.php51 42 App\Exceptions\Handler 渲染 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php83 41 照亮\路由\管道句柄异常 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php55 40 照亮\会话\令牌不匹配异常 …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php70 39 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 38 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 37 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php49 36 Illuminate\View\Middleware\ShareErrorsFromSession 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 35 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 34 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php63 33 Illuminate\Session\Middleware\StartSession 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 32 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 31 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php37 30 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 29 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 28 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php59 27 Illuminate\Cookie\Middleware\EncryptCookies 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 26 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 25 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php102 24 照亮\管道\管道然后 …/vendor/laravel/framework/src/Illuminate/Routing/Router.php661 23 照亮\路由\路由器runRouteWithinStack …/vendor/laravel/framework/src/Illuminate/Routing/Router.php636 22 照亮\路由\路由器 runRoute …/vendor/laravel/framework/src/Illuminate/Routing/Router.php602 21 照亮\路由\路由器 dispatchToRoute …/vendor/laravel/framework/src/Illuminate/Routing/Router.php591 20 照亮\路由\路由器调度 …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php176 19 照亮\基础\Http\内核 照亮\基础\Http闭包 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php30 18 照明\路由\管道照明\路由关闭 …/vendor/fideloper/proxy/src/TrustProxies.php57 17 Fideloper\Proxy\TrustProxies 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 16 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 15 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php30 14 Illuminate\Foundation\Http\Middleware\TransformsRequest 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 13 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 12 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php30 11 Illuminate\Foundation\Http\Middleware\TransformsRequest 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 10 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 9 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php27 8 Illuminate\Foundation\Http\Middleware\ValidatePostSize 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 7 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 6 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php46 5 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode 句柄 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php149 4 照亮\管道\管道 照亮\管道关闭 …/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53 3 照明\路由\管道照明\路由关闭 …/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php102 2 照亮\管道\管道然后 …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php151 1 Illuminate\Foundation\Http\Kernel sendRequestThroughRouter …/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php116

我的刀片代码:

<div class="form-group row">
    <label for="email" class="col-sm-4 col-form-label text-md-right"> __('E-Mail Address') </label>
    <div class="col-md-6">
        <input id="email" type="email" class="form-control $errors->has('email') ? ' is-invalid' : '' " name="email" value=" old('email') " required autofocus>
        @if ($errors->has('email'))
            <span class="invalid-feedback">
                 <strong> $errors->first('email') </strong>
            </span>
        @endif
    </div>
</div>

<div class="form-group row">
     <label for="password" class="col-md-4 col-form-label text-md-right"> __('Password') </label>
     <div class="col-md-6">
        <input id="password" type="password" class="form-control $errors->has('password') ? ' is-invalid' : '' " name="password" required>
        @if ($errors->has('password'))
            <span class="invalid-feedback">
                 <strong> $errors->first('password') </strong>
            </span>
        @endif
     </div>
</div>

<div class="form-group row">
    <div class="col-md-6 offset-md-4">
        <div class="checkbox">
            <label>
                <input type="checkbox" name="remember"  old('remember') ? 'checked' : '' >  __('Remember Me') 
            </label>
        </div>
    </div>
</div>

<div class="form-group row mb-0">
    <div class="col-md-8 offset-md-4">
        <button type="submit" class="btn btn-primary">
             __('Login') 
        </button>
        <a class="btn btn-link" href=" route('password.request') ">
             __('Forgot Your Password?') 
        </a>
    </div>
</div>
</form>

如何解决这个问题? 我也尝试了所有以前的问题建议。 我也看到它是'domain' =&gt; env('SESSION_DOMAIN', null), .env 中没有什么像 session_domain 一样

【问题讨论】:

【参考方案1】:

您需要将 csrf_filed 添加到您的表单中。 在您的开始表单标记之后添加它。

 csrf_field() 

编辑: 在 laravel 5.6 中,您可以在表单标签之后执行 @csrf

【讨论】:

【参考方案2】:

每当您在应用程序中定义 HTML 表单时,您应该在表单中包含一个隐藏的 CSRF 令牌字段,以便 CSRF 保护中间件可以验证请求。您可以使用csrf_field 帮助器来生成令牌字段:

<form method="POST" action="/profile">
     csrf_field() 
    ...
</form>

Laravel 5.6 及更高版本使用 Blades 模板,非常简单。

<form method="POST" action="/profile">
    @csrf
    ...
</form>

注意:它不起作用,然后刷新浏览器缓存,现在它可能会起作用

【讨论】:

以上是关于该页面因不活动而过期。请刷新并重试。 laravel 5.6 使用 laravel 的身份验证的主要内容,如果未能解决你的问题,请参考以下文章

laravel 5.7.15 419 抱歉,您的会话已过期。请刷新并重试

利用feign的重试机制刷新过期的请求Token

如果会话过期,如果没有活动并重定向登录页面,则烧瓶注销

在 laravel 5.5 的验证 csrf 令牌中没有收到错误令牌不匹配异常

浏览器在刷新页面的时候出现页面已过期,请选择重试问题!

Angular 4 和 OAuth - 拦截 401 响应,刷新访问令牌并重试请求