我应该禁用CSRF验证吗?

时间:2017-04-13 07:58:03

标签: php ajax laravel csrf csrf-protection

我目前正在研究Laravel上的一个应用程序,这是一个在线测验。有一个功能可以恢复用户的会话。

这意味着如果用户在测验期间重新加载页面,他的会话将以其填充的响应恢复。每次他对答案做出一些更改时,我都会使用ajax存储用户会话。

因此,问题是如果用户足够快地选择答案以生成并发请求,Laravel会终止用户会话,因此表单的CSRF令牌变为无效。

要解决此问题,我已禁用ajax请求的CSRF验证,因为我认为此请求不会处理网站的任何敏感信息。

所以我想知道对这些路由禁用CSRF验证是对的,还是应该找到不同的解决方案?

1 个答案:

答案 0 :(得分:0)

为什么不创建额外的路线只是为了传递新的令牌?所以你可以做一个异步查询来获取新令牌,然后将其发回到laravel?

像这样:

/**
 * @Get("auth/csrfToken")
 */
public function getToken()
{
  return csrf_token();
}