【问题标题】:Google App Engine won't set cookies in IE9Google App Engine 不会在 IE9 中设置 cookie
【发布时间】:2012-10-06 02:41:53
【问题描述】:

我正在使用 Google App Engine 为我高中的戏剧俱乐部构建一个网站,它在 Chrome、Firefox 等中运行良好。但是,(如您所料)它在 Internet Explorer 中无法运行。

当用户登录时,它会以以下形式设置一个 cookie '4|55b4e2aea49a225f1a8e436df051c678',其中 4 是用户的 id,后跟一个散列版本。

我有一个自定义处理程序,我的所有类都继承它来设置 cookie。

def set_cookie(self, name, value):
  val = self.make_secure_val(value)
  logging.debug(val)
  return self.response.headers.add_header("Set-Cookie", "%s=%s; Path='/'" % (name, val))

def make_secure_val(self, val):
  return '%s|%s' % (val, hmac.new(secret, val).hexdigest())

设置 cookie 后,我有另一个输出 cookie 值的日志记录行。设置到 cookie 的值是正确的,但是,cookie 永远不会被设置。

我已尝试更改 IE 的所有 cookie 设置以接受所有 cookie。但是,这并没有什么不同。我可以在 Javascript 中设置一个 cookie,它工作正常。但是,它也应该在 Python 中工作。我已经尝试添加过期日期,但这也没有什么不同。

在我的研究中,我注意到很多人在使用带有 iframe 的 IE cookie 时遇到问题,但这不适用于我。

非常感谢任何帮助。

【问题讨论】:

  • 你有网址可以查吗???
  • 是的,对不起。它位于hermantowndrama.appspot.com。随意注册一个帐户并尝试自己登录到 IE。

标签: javascript python internet-explorer google-app-engine cookies


【解决方案1】:

据我所知,所有浏览器都会收到 set-cookie 标头。

然后,当浏览器重定向到http://hermantowndrama.appspot.com/ 时,"user" cookie 不会发送到服务器,而是 "test" cookie

由于http://hermantowndrama.appspot.com/是一个子域,可能user cookie的path="有问题/bug,你可以尝试删除它。


抱歉,由于分辨率的原因,图像并没有多大帮助,无论如何它们只是为了说明浏览器接收标题但不发回用户cookie。

【讨论】:

  • 摆脱路径修复它!非常感谢。
猜你喜欢
  • 1970-01-01
  • 2018-01-28
  • 2011-06-14
  • 1970-01-01
  • 2011-02-01
  • 2015-04-23
  • 1970-01-01
  • 2015-06-22
  • 2019-08-12
相关资源
最近更新 更多