亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 5.8 419 頁面過期 - 登錄后

Laravel 5.8 419 頁面過期 - 登錄后

PHP
青春有我 2021-12-24 10:05:54
我在 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,但是顯示了相同的問題。
查看完整描述

3 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

總而言之,您錯過了@csrf。


只需在表單開頭標記行之后添加@csrf 即可。它應該是這樣的:


<form class="singn-form" method="POST" action="{{ route('register') }}">

@csrf

....

</form>


查看完整回答
反對 回復 2021-12-24
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

發生此錯誤的原因是 CSRF 令牌驗證失敗、緩存配置錯誤、權限、會話設置不當。當用戶提交發布請求時會出現此錯誤。您可以通過執行以下操作來修復它:

  1. CSRF 令牌驗證失敗 419 錯誤的最常見原因是 CSRF 令牌失敗??缯菊埱髠卧焓怯煞掌魃傻奈ㄒ坏?、加密的值。這包含在客戶端的 HTTP 請求中。稍后服務器對其進行驗證。如果失敗,則會導致會話過期錯誤。因此,您檢查 Laravel 配置中的 CSRF 設置。

  2. 由于緩存導致會話過期錯誤有時,緩存也會導致前端會話過期錯誤。這可以是服務器緩存和瀏覽器緩存。因此,請使用php artisan cache:clear.

  3. Laravel 文件和文件夾權限 同樣,不正確的文件或文件夾權限也會導致錯誤。通常,Web 服務器需要對 Laravel 文件夾存儲和供應商的寫權限。此外,會話存儲需要寫權限。所以,給權限,

    chmod -R 755 存儲

    chmod -R 755 供應商

    chmod -R 644 引導程序/緩存

Laravel 會話設置 最后但并非最不重要的是,會話設置也會導致 419 錯誤。app/config/session.php 是會話配置文件。檢查一些重要的參數——域和安全。

'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE', false), // in case of cookie

這些循序漸進的方法修復了錯誤并使 Laravel 再次工作。


查看完整回答
反對 回復 2021-12-24
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

在 head 部分使用它而不是 @csrf :

<meta name="csrf-token" content="{{ csrf_token() }}">


查看完整回答
反對 回復 2021-12-24
  • 3 回答
  • 0 關注
  • 311 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號