Laravel:检测控制器中的令牌不匹配

费利克斯·马克西姆(Felix Maxime)

我注意到,在我的网站,一旦用户停留在页面上太长时间(通常需要几个小时),AJAX请求后会返回JSONmessageCSRF token mismatch.

有什么方法可以在控制器中检测到该错误,以便返回正确的错误消息(我知道我可以在前端逻辑中执行此操作,但是很高兴知道这一点)?

马尔卡兹(Malkhazi Dartsmelidze)

您可以使用路由过滤器执行此操作。

从laravel文档中:

路由过滤器提供了一种限制访问给定路由的简便方法,这对于在站点中创建需要身份验证的区域很有用。Laravel框架中包含几个过滤器,包括auth过滤器,auth.basic过滤器,guest虚拟机过滤器和csrf过滤器。这些位于app / filters.php文件中。

注意:在测试应用程序环境时,将禁用过滤器。

首先在服务提供商中定义路由过滤器:

Route::filter('csrf', function(){
    if (Session::token() != Input::get('_token')) {
        throw new Illuminate\Session\TokenMismatchException;
    }
});

然后在您的路线中可以附加before参数,例如:

Route::get('user', [
    'before' => 'csrf', 
    'uses' => 'UserController@showProfile'
]);

// Ore if you have functional route

Route::get('user', [
    'before' => 'csrf', 
    function(){
        return 'Response here';
    }
]);

希望这对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular-检测控制器何时被卸载

来自分类Dev

如何检测控制器之间的变量更改事件

来自分类Dev

SpeedFan在游戏中突然停止能够检测控制器和传感器

来自分类Dev

Sails控制器中的密码参数不匹配

来自分类Dev

Sails控制器中的密码参数不匹配

来自分类Dev

在控制器中检测基本URL?

来自分类Dev

Laravel控制器不更新表

来自分类Dev

如何在iOS中检测特定视图控制器的空闲时间/不活动时间?

来自分类Dev

在Laravel中强制令牌不匹配异常

来自分类Dev

我的控制器中Postgres数据类型不匹配的Heroku WHERE错误

来自分类Dev

重定向到不匹配的控制器上的默认操作以及url中的操作

来自分类Dev

视图中的角色名称与UserRole模型和控制器中的RoleID不匹配

来自分类Dev

C#| SharpDX.XInput | 如何检测控制器上的按钮是否被按下一次并没有保持按下状态

来自分类Dev

当内部几乎没有ajax调用时,Angularjs如何检测控制器中所有加载的内容是否完成?

来自分类Dev

控制器返回的值与视图不匹配?

来自分类Dev

Spring 不匹配我的请求到我的控制器

来自分类Dev

如何在视图控制器中显示 apns 令牌?

来自分类Dev

控制器中的流明(laravel)翻译

来自分类Dev

Laravel中的命名空间控制器

来自分类Dev

控制器中的laravel foreach循环

来自分类Dev

Laravel控制器中的多个模型

来自分类Dev

Laravel中的控制器构造函数

来自分类Dev

Laravel控制器中的权限

来自分类Dev

控制器在Laravel中的位置

来自分类Dev

负载控制器在Laravel 5中

来自分类Dev

Laravel 5.1.11控制器中的Crud

来自分类Dev

Laravel中的控制器和路由

来自分类Dev

Laravel中控制器逻辑的组织

来自分类Dev

控制器中的 Laravel 5 验证

Related 相关文章

热门标签

归档