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

标签 javascript cookies cross-domain ip 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 header ,应该将 cookie 设置为 192.168 .1.5 域。
  3. x.com 上的 JavaScript 应用程序向位于 192.168.1.5 的 API 发送一个 AJAX 请求,并将第 2 步中的 cookie 作为请求的一部分。

最佳答案

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

JavaScript

xhrInstance.withCredentials = true;

服务器 header

Access-Control-Allow-Credentials: true

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

总结一下:与IP地址无关。 Cookie的host可以是IP地址或域名。

关于javascript - 将 cookie 域设置为 IP 地址(使用 CORS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12669289/

相关文章:

cookies - .NET Core 2.0 Cookie 事件 OnRedirectToLogin

java - Spring boot security oauth2 从 cookie 中获取 access_token

javascript - getJSON 调用中的错误处理

java - 浏览器未显示跨源请求的有效响应

javascript - 动画 div 使 Edge/Safari 重绘/布局父容器

javascript - 是否可以清除 NGZone 中设置的所有间隔?

javascript - 在 Chrome 扩展中单击元素之前的事件监听器运行函数

PHP 或 JavaScript 或 jQuery cookie 5 分钟后过期

javascript - 将事件监听器附加到与当前域不同的域

php - jquery-validate - php 嵌入式 html 表单