当前位置: 首页 > 知识库问答 >
问题:

VerifyCsrfToken中的Laravel令牌不匹配异常。php

白星海
2023-03-14

我使用的是Laravel 5,在我的表单上单击提交时出现错误。

超文本标记语言

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
    <h3>This is a test page </h3>
    <form method="POST" action="./apartment/sayLove2">
        <input name="id" value="1" type="text"/>
        <input name="team" value="roma" type="text"/>
        <input name="bestPlayerInTheWorld" value="TOTTI" type="text"/>
        <input  value="Send" type="submit" />
    </form>
</body>
</html>

路线

Route::post('/apartment/sayLove2', 'ApartmentController@sayLove2');

控制器

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ApartmentController extends Controller
{
    public function sayLove2(Request $request)
    {
        $id = $request->input('id');
        echo $id;
        exit;
        $team = $request->input('team');
        $bestPlayerInTheWorld = $request->input('bsetPlayerInTheWorld');

        return view('sayLove', ['id' => $id, $team => $team]);
    }
}

错误

VerifyCsrfToken中的令牌不匹配异常。php第67行:在VerifyCsrfToken中。VerifyCsrfToken处的php第67行-

共有3个答案

公冶森
2023-03-14

在应用程序中定义HTML表单时,应在表单中包含隐藏的CSRF令牌字段,以便CSRF保护中间件可以验证请求。

您可以使用@csrf Blade指令生成令牌字段:

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

您可以在laravel文档网站上了解更多信息:https://laravel.com/docs/7.x/csrf#csrf-导言

盛琪
2023-03-14

我也面临这个问题,并遵循了太多的建议,但最后,下面的工作对我很好。

php artisan cache:clear

php artisan config:clear

php artisan config:cache
井逸明
2023-03-14

请看这里:https://laravel.com/docs/master/routing#csrf-保护

您需要添加CSRF-TOKEN。

您可以使用表单添加隐藏输入,如下所示:

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
 类似资料:
  • 我在Laravel5.2中遇到AJAX POST请求问题。我正在AJAX请求中传递一个有效的CSRF令牌。 使用Laravel Collective HTML package form标记打开和关闭表单,该标记会自动添加一个带有CSRF标记的隐藏标记输入。呈现的HTML: 使用Fetch API和FormData执行AJAX请求: CSRF令牌和表单数据位于请求负载中: 请求有效负载和x-csrf

  • 我试图排除我称之为test的endpoint上的所有请求。com/code,所以我在VerifyCsrfToken中这样做。php文件。 但即使在我尝试运行“php artisan route:clear”之后,它也无法解决问题 我的路线是这样的: 我试过这个,但也没成功。 到目前为止,我想出的唯一方法是删除应用程序/Http/Kernel.php中的行“\App\Http\Middleware\

  • 我刚刚创建了一个全新的Laravel6项目,安装了Passport功能(LaravelPassport),并想尝试一下。现在,在Postman中,我尝试访问缺省路由POST/oauth/clients,按预期填充名称并重定向参数。 在这一点上,我将得到一个“CSRF令牌不匹配”错误,我在这里会做错什么?我知道这是一个非常有限的信息继续下去,如果需要更多的问了。 运行Laravel网站与'php工匠

  • 我正在尝试通过Ajax从数据库中删除数据。 HTML: 我的ajax代码: 这是我要从数据库中提取数据的查询... 但当我单击“删除链接数据未删除”并显示csrf_token不匹配时...

  • 问题内容: 我试图通过ajax从数据库中删除数据。 HTML: 我的ajax代码: 这是我从数据库中获取数据的查询… 但是当我单击删除链接数据未删除并显示csrf_token不匹配… 问题答案: 您必须在ajax请求中添加 数据 。我希望这样会有用。

  • 我试图张贴使用ajax在laravel 5.我得到CSRF令牌不匹配异常。我环顾四周,发现可能存在这样的问题,但在这种情况下,我确实包括了所有必要的代码。 请看一下我的代码。 看法 我已经在隐藏输入中提供了令牌,并将其包含在我的帖子中。 我有一个元在头如下。 下面是我的控制器。 这个只是测试用的,这里没什么。我的路线如下 请帮我解决这个问题 这是日志中的输出。 以下是我的浏览器控制台帖子标题和页面