【问题标题】:Can Javascript React send HttpOnly cookie to Server?Javascript React 可以将 HttpOnly cookie 发送到服务器吗?
【发布时间】:2020-11-23 10:48:44
【问题描述】:

你可以使用 fetch 或其他方式向 React 中的服务器发送带有 HttpOnly cookie 的请求吗?

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

我想要这个:

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

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

感谢您的帮助。

【问题讨论】:

  • React 与在每个请求中将 cookie 发送回服务器无关。如果您使用fetch,如果您想在请求中包含cookie,请确保正确设置credentials 选项 - developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
  • 这能回答你的问题吗? Fetch API with Cookie
  • 也许,我想知道 httpOnly 设置为 true 的 cookie 是否仍会发送
  • 试一试,让我们知道。根据 MDN 文档,“JavaScript Document.cookie API 无法访问具有 HttpOnly 属性的 cookie;它只会发送到服务器。”

标签: reactjs cookies httponly


【解决方案1】:

好的,我查过了。

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

我想这里的教训是浏览器会为请求设置cookies,它并不关心请求是由HTML还是JavaScript发出的。

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 2011-07-08
    • 2016-03-06
    • 2021-08-05
    • 2019-04-17
    • 2020-11-19
    • 2016-04-22
    • 2016-10-15
    相关资源
    最近更新 更多