自动刷新各种形式的CSRF Token

Refresh CSRF Token in all forms automatically

我注意到,当我打开我的应用程序并在大约 2 小时内不执行任何操作时,csrf 令牌会过期。由于会话仍然有效,我想知道是否有自动刷新我表单的所有 csrf 令牌的最佳实践。

我发现了以下用于处理这些异常的方法https://gist.github.com/jrmadsen67/bd0f9ad0ef1ed6bb594e

但是,我想跳过该重定向。

创建一个每小时左右调用一次后端以获取新令牌然后使用 jquery 刷新所有 _token 输入的脚本有什么问题吗?

setInterval(function(){ 
    // add ajax stuff here
    $('input[name=_token]').val(new_token);
}, 1800000);

你应该看看 Laravel Caffeine

它完全符合您的要求,让表单保持活动状态,并且在长时间搁置后仍能提交。