gpt4 book ai didi

php - Laravel 419 未知状态

转载 作者:可可西里 更新时间:2023-10-31 23:45:01 25 4
gpt4 key购买 nike

我正在从子域向主域发出 AJAX 请求。我已经设置了 CORS,以便子域自动附加到允许的域列表。我遇到了 419(未知状态) 错误,在转储错误后我发现我遇到了 TokenMissmatchException

我还注意到这实际上是真的,因为我也看到了:

"_token" => "h7I07Iv0m4sF7XHhXjtygnfCtITgzCi3Ml8lfT7Z" // <-- sent
"_token" => "N118Izko7j5uf851MpijBXInFLaUVicRdf9uw3h4" // <-- in session

我显然是在使用 AJAX 请求发送 token ,正如我在检查请求时在 header 部分看到的那样。

我想是因为我正在从我的子域遍历到我的域,所以发生了一些不匹配。

如何在我的主域和所有子域之间对齐 token ,以免出现异常?

注意

所有 AJAX 路由都从

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

将其附加到中的每个请求

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

编辑

我把它放在 session.php

"domain" => "." . env('APP_URL'),

因为 cookie,尽管老实说我不确定它的作用

最佳答案

跨多个域的 session 共享.....可以做一些调整。要使 cookie 在所有子域中可用,您需要将其分配给根域。

 session.cookie_domain = ".example.com"

我个人会推荐一种不同的方法(但它也取决于其他因素,我无法从您的问题中完全了解这些因素......)

执行来自/到相同子域的 ajax 调用(受 CSRF 中间件保护,标准 CSRF 使用)在 Controller 上对您的主域执行服务器到服务器后端调用(例如 curl_exec )

服务器到服务器的调用是不可见的,你可以保护它......例如如果两个域通过互联网通信,则在网络级别或通过添加 Oauth 服务器。

关于php - Laravel 419 未知状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47773272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com