繁体   English   中英

导致 Session 的 csrf 令牌在 Laravel 中的每个请求后销毁

[英]csrf token leading to Session Destroy after every request in Laravel

效果很好的用法

<meta name="csrf-token" content="{{ csrf_token() }}" />

  $.ajax({
    headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    },
   // My Code...
  });

上述方法适用于我所有与数据相关的请求......

不起作用的方法以及原因

我有一个用于重定向到我的网站的链接。 该链接跟踪用户 IP、日期以及他来自哪个平台(Facebook、Twitter 等)所以我的代码是

Web.php

Route::get('/SOME_LINK/{IP}/{PLATFORM}', [StoreDataController::class, 'storeData']);

Controller

public function storeData(Request $request)
{
    DB::connection('myDB')->select("INSERT INTO TRAFFIC ...");
}

我使用用户名/密码登录到可以查看表数据的面板。 我设置了 session 让我保持登录状态。但是每次用户点击链接时,我都必须重新登录,因为我的 session 被破坏了。

我的猜测是这是因为 csrf 不匹配,但我不确定在这里做什么。 有什么建议可以解决这个问题吗?

并将其放在请求正文中,而不是标头中,如下所示:

$.post(
    '/url',
    {
        '_token': $('meta[name="csrf-token"]').attr('content'),
        ...

    }
).done(function(data ){...});

暂无
暂无

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

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