首页 > 解决方案 > Laravel - 如何使 CSRF 令牌与 HTML 缓存一起使用?

问题描述

据我所知,HTML 缓存会生成一个静态 html 文件,但 CSRF 需要在每次加载页面时刷新,所以有没有办法让 CSRF 令牌与 HTML 缓存一起工作?

标签: laravelcsrf-protectionpage-caching

解决方案


由于 CSRF 令牌通常包含在表单输入中,因此页面缓存将使每个用户随机化该输入的能力无效。

您可以使用 ajax 将数据加载到缓存页面中。

一种解决方案是通过 ajax 将表单的整个 HTML 加载到缓存页面中。另一种解决方案是通过 ajax 请求仅将令牌加载到表单中。这可能是您可以在您的站点中编程的东西,以检索令牌并在页面加载时插入所有表单或将其添加到表单提交过程中。本文讨论通过 ajax 请求获取 CSRF 令牌的含义。


推荐阅读