Laravel的CSRF令牌和负载平衡

mou*_*nty 7 php session csrf laravel

考虑这种情况:

应用程序具有受Laravel的CSRF过滤器保护的登录路由:

Route::group(array('before' => 'csrf'), function() {

    Route::post('/doLogin', array('as' => 'doLogin', 'uses' => 'MainController@doLogin'));

});
Run Code Online (Sandbox Code Playgroud)

该应用程序位于负载均衡器后面,每个请求随机发送到其中一个server01server02.Laravel被配置为坚持一个数据库,它是由两个共享会话server01server02.要遵循的标准路径是:用户访问/,将其凭据输入登录表单,并提交这些凭据/doLogin,以检查令牌,处理凭据,并/在错误或/home成功时返回用户.

我的问题是这样的:因为有没有保证,谁访问用户/server01将发布到/doLoginserver01,将Laravel内置的CSRF令牌的工作?或者由于存储了令牌Session,无论LB最终分配哪个服务器,它都能正常工作吗?

Mar*_*ala 6

如果会话在这些服务器之间共享,则无论它击中哪个服务器,CSRF 都将工作。

数据库、Cookie 和 memcached/redis 会话驱动程序都很好。

文件会话驱动程序不应该正常工作。

来自客户端的 CSRF 令牌与会话中的令牌进行比较。