TokenMismatchException in VerifyCsrfToken.php laravel 5 中的第


TokenMismatchException in VerifyCsrfToken.php line 53 in laravel 5 while uploading a .csv file

我正在读取一个csv文件并将内容发送到数据库。即使我尝试提及 csrf 令牌,我也会收到令牌不匹配错误。

CSRF 令牌仅放置在处理表单提交的路由上。我认为您可能正在阅读CSV并保存在不需要您提交CSRF令牌的数据库中,我建议您将该路由放置在禁用CSRF令牌的位置,这样就不需要您提交CSRF令牌。你可以通过做这样的事情来做到这一点。

在 App/Http/Midlleware 文件夹中,转到 VerifyCsrfToken.php并包含指向异常的特定路由,如下所示:

/**
 * The URIs that should be excluded from CSRF verification.
 *
 * @var array
 */
protected $except = [
    'csvParserRoute',
];

这将仅禁用此路由的 CSRF 令牌要求,并且错误应该消失。

在您的视图中尝试以下代码段:

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">

<input type="hidden" name="_token" value="{{ csrf_token() }}">

如果这不起作用,那么请注释此行:

'App'Http'Middleware'VerifyCsrfToken::class

in app/Http/Kernel.php file.

由于此VerifyCsrfToken中间件可以轻松保护您的应用程序免受跨站点请求伪造(CSRF)攻击。不建议对该行进行注释,但出于测试目的,您可以这样做。

看看,这是否有效。