Laravel-如何使CSRF令牌与HTML缓存一起使用?

时间:2018-09-03 18:56:21

标签: laravel csrf-protection page-caching

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

1 个答案:

答案 0 :(得分:0)

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

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

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