将 cookie 域设置为 IP 地址(使用 CORS)

pwi*_*ind 5 javascript cookies ip cross-domain cors

我有一个托管在x.com 上的 JavaScript 应用程序,它使用 AJAX(通过 jQuery)来联系托管在 LAN 环境中的 Apache 服务器(使用静态 IP,192.168.1.5)。

Apache 服务器公开了一个 API,该 API 要求用户设置特定的 cookie 才能使用它。

我的问题是我无法让 Apache 服务器使用正确的域(192.168.1.5)设置 cookie ,以便浏览器通过 AJAX 调用发送 cookie。

有没有办法设置一个以IP为域的cookie?我见过的所有示例都要求域的格式为example.org

场景如下:

  1. x.com 上的 JavaScript 应用程序向192.168.1.5发送 AJAX 身份验证请求。
  2. 来自192.168.1.5的响应有一个Set-Cookie标头,它应该将 cookie 设置为192.168.1.5域。
  3. x.com 上的 JavaScript 应用程序将 AJAX 请求发送到192.168.1.5处的 API,并将步骤 2 中的 cookie 作为请求的一部分。

Pri*_*orn 5

服务器和客户端都需要明确地告诉对方他们想要cookie。

JavaScript

xhrInstance.withCredentials = true;
Run Code Online (Sandbox Code Playgroud)

服务器头

Access-Control-Allow-Credentials: true
Run Code Online (Sandbox Code Playgroud)

https://developer.mozilla.org/en-US/docs/HTTP_access_control#Requests_with_credentials

综上所述:与IP地址无关。cookie的值host可以是IP地址或域名。