首页 > 解决方案 > laravel 路由:任何页面过期到不活动

问题描述

我在 laravel 5.5 中使用了 Any 的路由:

Route::any('/', 'HomeController@index')->name('homepage');

路由应该是 GET 路由,但由于第三个提供者使用 POST 重定向,我不得不将其更改为任何;

问题是当重定向是从第三方(带有帖子)时,现在我得到:

The page has expired due to inactivity. 

Please refresh and try again.

这是因为 {{ csrf_field() }}

即使我收到 POST 请求,如何传递 csrf_field 并使该路由充当 GET 路由?

标签: phplaravellaravel-5.5

解决方案


注意:除非您知道自己在做什么,否则不要禁用 CSRF 保护。我只建议这样做,因为看起来他们实际上并没有在这条路线上向应用程序发布任何数据。

您可以通过将 URI 添加到 VerifyCsrfToken 中间件中的 $except 数组来从 CSRF 保护中排除 URI:

https://laravel.com/docs/5.6/csrf#csrf- exclude-uris

protected $except = [
    '/',
];

推荐阅读