【问题标题】:Is there a way to access a django request session cookie from jQuery?有没有办法从 jQuery 访问 django 请求会话 cookie?
【发布时间】:2012-03-28 05:12:43
【问题描述】:

我正在使用 jquery-cookie 模块从 jquery 设置/获取 cookie。

当我设置一个 cookie - 它是一个会话 cookie,我可以在 Chrome 的资源选项卡中看到它。

另一方面,在 Django 中使用 reqeust.session['mycookie'] = 'value' 设置 cookie 也是一个会话 cookie,但它在 Chrome 的资源选项卡中不可见。

有没有办法使用 jquery 来访问或设置 django 会话 cookie?

【问题讨论】:

  • 感谢您的回答。有道理。

标签: jquery django session cookies


【解决方案1】:

这个:

另一方面,在 Django 中使用 request.session['mycookie'] = 'value' 设置 cookie 也是会话 cookie

不是真的。

会话是存储在会话存储中的对象,通常是 Django 服务器上的数据库表。它为单个会话密钥存储多个值。只有这个会话密钥作为 cookie 存在。这显然具有安全性和无需在每个请求上传输潜在的巨大 cookie 的双重优势。

您可能能够从 jQuery 访问会话密钥,但是如果不访问服务器上的会话存储,这对您没有任何好处。

如果您确实需要这样做,您可以使用 response.set_cookie 从 Django 设置实际 cookie - 但请仔细考虑这样做的安全性和性能影响。

【讨论】:

    【解决方案2】:

    如果 cookie 是 HttpOnly cookie,那么您无法使用 javascript 访问它们。

    【讨论】:

      猜你喜欢
      • 2010-09-27
      • 2018-10-18
      • 1970-01-01
      • 2012-11-01
      • 2016-04-30
      • 2023-04-10
      • 1970-01-01
      • 2023-03-30
      相关资源
      最近更新 更多