首页 > 解决方案 > 如果 jwt 令牌在 laravel 和 Vue spa 中使用 httponly 存储在 cookie 中,如何防止 csrf 攻击?

问题描述

前端:Vue spa

后端:laravel

前端和后端是分开的,它们通过 xhr 请求进行通信。

一开始我使用本地存储来存储 JWT 令牌,但现在我发现这不是很安全。

感谢你的回复。

标签: laravelauthenticationvue.jsjwtcsrf

解决方案


在您的 html 头中添加 csrf_token 作为元标记

<meta id="token" name="token" content="{{ csrf_token() }}">

然后在您的 Vue.js 主文件中将此令牌添加到您的 Vue 实例。

Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('content');

推荐阅读