2

您可以使用 fetch 或通过其他方式将带有 HttpOnly cookie 的请求发送到 React 中的服务器吗?

我知道 HttpOnly 意味着你不能用 JS 访问它。我在想也许你不能读它,但你可以把它寄回去?我不知道。

我要这个:

  • 对服务器的请求是从客户端发出的(ReactJS SPA)
  • 服务器响应并设置 HttpOnly Cookie。
  • 客户端得到响应,cookie 由浏览器自动设置。

有了对同一台服务器的新请求,我想发回那个 cookie。这可能使用 ReactJS 吗?或者也许有一些方法可以绕过它,比如打开新窗口,使用简单的 HTML,而不是 ReactDOM ?

谢谢你的帮助。

4

1 回答 1

7

好的,我检查过了。

HttpOnly 设置为 true 的 Cookie,仍将使用 ReactJS、fetch 或任何其他使用 JS 发出的请求发送,您无法使用 JS 读取它,但使用 HttpPost、HttpGet 或其他时。浏览器仍然将它附加到请求,即使它是 HttpOnly。

我想这里的教训是浏览器处理将 cookie 设置为 requests,并且它不关心请求是由 HTML 还是 JavaScript 发出的。

于 2020-08-03T13:06:48.970 回答