Laravel 5.8 419 页面过期 - 登录后

我在 Laravel 5.8 中创建了一个项目。在我的本地环境(PHP 7.2)中,它运行良好。当我在登录后使用 cpanel 将此项目托管到我的服务器(PHP 7.1)时,返回 419 页面过期错误。


Mylogin 表单代码:


<form method="POST" action="{{ route('login') }}" id="login-form">

    @csrf

    <div class="form-group">

      <label for="username">{{ __('Username / Email Address') }}</label>

      <input type="text" class="form-control{{ $errors->has('username') ? ' is-invalid' : '' }} boxed" name="username" id="username" value="{{ old('username') }}" required autofocus>

    </div>

    @if ($errors->has('email'))

       <span class="invalid-feedback" role="alert">

          <strong>{{ $errors->first('email') }}</strong>

       </span>

    @endif


    <div class="form-group">

        <label for="password">{{ __('Password') }}</label>

        <input type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }} boxed" name="password" id="password" required>

    </div>

    @if ($errors->has('password'))

        <span class="invalid-feedback" role="alert">

           <strong>{{ $errors->first('password') }}</strong>

        </span>

    @endif


    <div class="form-group" style="margin-bottom: 0px; float:left;">

        @if (Route::has('password.request'))

            <a href="{{ route('password.request') }}" class="forgetpwd">

               {{ __('Forgot Your Password?') }}

            </a>

        @endif

    </div>


    <div class="form-group" style="text-align: center;">


        <button type="submit" class="btn btn-warning" style="padding:0.5rem 1.8rem;">Login</button>

    </div>

</form>

我清除了缓存和 Cookie,但是显示了相同的问题。


青春有我
浏览 266回答 3
3回答

HUWWW

总而言之,您错过了@csrf。只需在表单开头标记行之后添加@csrf 即可。它应该是这样的:<form class="singn-form" method="POST" action="{{ route('register') }}">@csrf....</form>

白衣非少年

发生此错误的原因是 CSRF 令牌验证失败、缓存配置错误、权限、会话设置不当。当用户提交发布请求时会出现此错误。您可以通过执行以下操作来修复它:CSRF 令牌验证失败 419 错误的最常见原因是 CSRF 令牌失败。跨站请求伪造是由服务器生成的唯一的、加密的值。这包含在客户端的 HTTP 请求中。稍后服务器对其进行验证。如果失败,则会导致会话过期错误。因此,您检查 Laravel 配置中的 CSRF 设置。由于缓存导致会话过期错误有时,缓存也会导致前端会话过期错误。这可以是服务器缓存和浏览器缓存。因此,请使用php artisan cache:clear.Laravel 文件和文件夹权限 同样,不正确的文件或文件夹权限也会导致错误。通常,Web 服务器需要对 Laravel 文件夹存储和供应商的写权限。此外,会话存储需要写权限。所以,给权限,chmod -R 755 存储chmod -R 755 供应商chmod -R 644 引导程序/缓存Laravel 会话设置 最后但并非最不重要的是,会话设置也会导致 419 错误。app/config/session.php 是会话配置文件。检查一些重要的参数——域和安全。'domain'&nbsp;=>&nbsp;env('SESSION_DOMAIN',&nbsp;null), 'secure'&nbsp;=>&nbsp;env('SESSION_SECURE_COOKIE',&nbsp;false),&nbsp;//&nbsp;in&nbsp;case&nbsp;of&nbsp;cookie这些循序渐进的方法修复了错误并使 Laravel 再次工作。

拉丁的传说

在 head 部分使用它而不是 @csrf :<meta&nbsp;name="csrf-token"&nbsp;content="{{&nbsp;csrf_token()&nbsp;}}">
打开App,查看更多内容
随时随地看视频慕课网APP