加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 如何在vue 2 app和laravel中创建和匹配CSRF令牌

发布时间:2020-12-14 19:40:41 所属栏目:大数据 来源:网络整理
导读:我没有使用laravel默认提供的vue 2设置.相反,我有vue应用程序和laravel api后端的两个分隔文件夹. vue应用程序位于laravel项目文件夹之外. 在这种情况下,我该如何实施CSRF? 这就是我想要做的事情请告诉我这是否可以正常工作或有更好的方法来做.. 1.在vue应
我没有使用laravel默认提供的vue 2设置.相反,我有vue应用程序和laravel api后端的两个分隔文件夹.
vue应用程序位于laravel项目文件夹之外.

在这种情况下,我该如何实施CSRF?

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

提前致谢..

解决方法

我很困惑,但我通过询问社区找到答案.

只需看看Laravel CSRF document,框架将XSRF-TOKEN存储为cookie的关键.你需要做的是从cookie中获取XSRF-TOKEN,然后将令牌设置为带有X-XSRF-TOKEN的头部的一部分:key_from_cookie,Laravel将decrypt the key作为CSRF令牌照常使用.

照明/基金/ HTTP /中间件/ VerifyCsrfToken.php

/**
 * Get the CSRF token from the request.
 *
 * @param  IlluminateHttpRequest  $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;
}

> Laravel CSRF reference
> Laravel resolve X-XSRF-TOKEN source

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读