簡體   English   中英

Laravel 419 錯誤通過 POSTMAN POST 請求

[英]Laravel 419 error on POST request via POSTMAN

我正在嘗試通過 POSTMAN 應用程序向運行 Laravel 5.6 的 API 發送 POST 請求。

我的路線如下:

Route::post('/charge','Charge@index');

並且 Charge 和 index 函數只是 var_dumps post 參數:

class Charge extends Controller
{
    public function index()
    {
        var_dump($_POST);
    }

}

我得到的響應是 419 未知狀態錯誤。 我不知道問題是什么。

我不確定此處要包含哪些其他信息,但請詢問是否需要其他任何信息來幫助解決此問題。

謝謝,J

這可能是因為您沒有將 csrf 令牌與表單數據一起發送。

在 laravel 中,每次請求都必須發送 csrf 令牌。

如果您不想發送,請在app/http/middleware/VerifyCsrfToken.php文件中提及您的方法名稱。

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{

    protected $addHttpCookie = true;

   protected $except = [
    'auth/facebook/callback',
    'auth/google/callback',
];
}

如果在標題上使用郵遞員添加

(核心價值)
X-CSRF-TOKEN yvthwsztyeQkAPzeQ5gHgTvlyxHfsAfE

您可以通過添加找到 VALUE

public function index()
{
    return csrf_token(); 
}

並在您的路線名稱上發送 GET 然后您將獲得 csrf 的價值

我遇到了同樣的問題,我發現的唯一解決方案是從 csrf 驗證文件中刪除那個確切的 url,該文件名為VerifyCsrfToken.php ,位於

app\\Http\\Middleware\\VerifyCsrfToken.php

打開該文件后,您只需將您正在執行發布請求的確切 url 放入except變量中,如下所示:

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        //
        'http://localhost/api2/public/user' //This is the url that I dont want Csrf for postman.
    ];
}

之后,我可以從郵遞員那里完成我的郵寄請求。

PD:這是針對開發環境的,我想您最終將不得不撤消此操作,因此,如果我錯了,有人會糾正我。

我正在從 POSTMAN 發出獲取請求並面臨 419 錯誤。 但是,萬一您在發出GET請求並面臨狀態419時仍然想知道如何找到csrf令牌。 就我而言,我通過在標題中添加user-agent: xxxx令牌解決了這個問題。

例子:

user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36

你需要在你發送的請求中提供 CSRF 令牌,在這種情況下你需要一個 CSRF 令牌。

在 web.php 上生成 CSRF 令牌

    Route::get('/token', function () {
        return csrf_token(); 
    });

使用令牌發送請求 | PUT FOLLOWING ON HEADERS |每個請求都應該更改令牌

(KEY)           (VALUE)
X-CSRF-TOKEN    MGpzhSLdVWdB7ddQSR8B6iu3A89A6LW7UPT0zmO2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM