繁体   English   中英

如何在vue 2应用程序和laravel中创建和匹配CSRF令牌

[英]How can I create and match CSRF token in vue 2 app and laravel

我没有使用laravel默认提供的vue 2设置。 相反,我为vue应用程序和laravel api后端有两个单独的文件夹。 Vue应用程序位于laravel项目文件夹之外。

在这种情况下,如何实现CSRF?

这就是我想做的事情,请让我知道它是否可以正常工作,或者有更好的方法。.1.在Vue应用程序中使用一些随机的长字符串设置Cookie。 2.在每个api调用中,确保正在发送cookie。 3.在laravel后端中,从请求中获取此令牌。 4.从cookie本身获取令牌。 5.匹配两个cookie,如果匹配则假定CSRF有效。

提前致谢..

我感到困惑,但是我通过询问社区找到了答案。

只需看一下Laravel CSRF文档 ,框架就将 XSRF-TOKEN存储为cookie的密钥。 您需要做的是从cookie中获取XSRF-TOKEN ,然后使用X-XSRF-TOKEN: key_from_cookie将令牌设置为标头的一部分X-XSRF-TOKEN: key_from_cookie ,Laravel将照常将密钥解密为CSRF令牌。

照亮/基础/ Http /中间件/VerifyCsrfToken.php
 /** * Get the CSRF token from the request. * * @param \\Illuminate\\Http\\Request $request * @return string */ protected function getTokenFromRequest($request) { $token = $request->input('_token') ?: $request->header('X-CSRF-TOKEN'); if (! $token && $header = $request->header('X-XSRF-TOKEN')) { $token = $this->encrypter->decrypt($header); } return $token; } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM