[英]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.