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

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

如何解決 Laravel 中的“CSRF 令牌不匹配”問題

如何解決 Laravel 中的“CSRF 令牌不匹配”問題

PHP
弒天下 2023-08-11 10:52:26
我正在開發一個 Laravel 應用程序。將其托管在我的域上后,我遇到了“CSRF 令牌不匹配”錯誤。在本地,應用程序運行良好,因為我已將 csrf 令牌包含在標頭中,如文檔中所示。因此,csrf 令牌已成功生成并包含在請求標頭中。在進行一些調試時,我將SESSION_DRIVERenv 文件更改為,file以便可以看到會話。我意識到正在為一個用戶生成多個會話。SESSION_LIFETIME設置為120,我認為這是可以的。在查看存儲在會話中的令牌時storage/framework/sessions,沒有一個包含瀏覽器生成的令牌??赡苁鞘裁磫栴}?請記住,它在本地運行良好。主機域上的哪些配置可能會影響應用程序的會話。
查看完整描述

4 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

我曾經在 cPanel 中托管時遇到過同樣的錯誤,并花了我將近 3 天的時間才找到適合我的案例的解決方案。我不知道這是否適合您,但請嘗試一下。

在 public 文件夾內的主 index.php 文件中,對其進行編輯,并在啟動 PHP 標簽后在最頂部寫入

ob_start()

該函數將獲取輸出緩沖區的內容并返回一個要發送到瀏覽器進行渲染的字符串,并刪除啟動 PHP 之前放置的空格或換行符。

另外,請嘗試按照評論中的建議清除緩存。

讓我知道這是否也對您有幫助。


查看完整回答
反對 回復 2023-08-11
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

將以下行添加到 head 標記中。


<meta name="csrf-token" content="{{ csrf_token() }}"> // Add in <head></head>

然后在 Laravel 中就可以獲取到這個 content 屬性了。另外,在腳本標記中添加以下代碼(這是為了確保在提交表單時獲得正確的csrf_token)。


$.ajaxSetup({

    headers: {

        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')

    }

});


查看完整回答
反對 回復 2023-08-11
?
烙印99

TA貢獻1829條經驗 獲得超13個贊

我遇到了同樣的問題,在 Laravel 7 中收到“CSRF 令牌不匹配”異常,并修復了其他所有內容,例如在頁面標題上設置 csrf 令牌、在 ajax 請求中、清除緩存、任何您能想到并且通??梢栽谄渲姓业降膬热萁鉀Q方案建議。

所以,如果有人遇到這個問題,我在其他地方還沒有找到這個解決方案,這確實花了我幾個小時。

我在錯誤的 URL 上調用了該應用程序!

我按字面意思使用了我的本地 IP,而不是使用“localhost”這個詞。

因此,如果您在本地開發,并使用您的 IP 調用您的應用程序,請嘗試在 http://localhost 上調用它!


查看完整回答
反對 回復 2023-08-11
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

我遇到了這個問題。我在 Laravel 文檔本身中找到了解決方案。


$csrf我們可以在表單元素后面添加


<form method="POST" action="/profile">

@csrf


  //input fields here

</form>


查看完整回答
反對 回復 2023-08-11
  • 4 回答
  • 0 關注
  • 289 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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