会话变量 &从 https 转到 http 页面时,cookie 在 IE 中消失
在 Apache 服务器上,我在受 htaccess (/main/profile) 保护的文件夹内有一组配置文件页面。用户更新其个人资料后,我想设置 $_SESSION['timelineuser']= 或会话 cookie,以便在不安全的站点主文件夹 (/main/) 中使用。
在不安全的页面上,我想检查 $_SESSION['timelineuser'] 是否存在。在 Firefox、Chrome 等中工作正常。在 IE8 中,行为很奇怪 - 当您在更新后单击 http:// 链接返回主页时,$_SESSION(以及我其他测试中的 cookie)不会显示你的个人资料。但是,如果您刷新浏览器,它就会显示。
这与我如何从安全页面链接有关。如果我有一个 href="/main/index.html" 它可以工作但会抛出安全警告。如果我在 IE 中有一个 href="http://www.foo.com/main/index.html" (我想要它去的地方),那么在加载主页之前会出现一个短暂的空白屏幕。
从 https 到 http 有什么关系吗?
On an Apache server, I have set of Profile pages within a folder protected by htaccess (/main/profile). After a user updates their profile, I want to set a $_SESSION['timelineuser']= or a session cookie for use back in the main folder of the site (/main/) which is unsecure.
On the unsecure page I want to check to see if $_SESSION['timelineuser'] exists. Works fine in Firefox, Chrome, etc. In IE8, the behavior is bizarre - the $_SESSION (and cookie in my other tests) doesn't show up when you click on the http:// link back to the main page after updating your profile. However, if you refresh the browser it does show up.
It has something to do with how I link from the secure page. If I have an href="/main/index.html" it works but throws security warnings. If I have an href="http://www.foo.com/main/index.html" (where I want it to go) in IE there ia a brief blank screen before the main page loads.
Something to do with going from https to http?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。根据我的经验,在子域“www.mydomain.org”上设置的 cookie 并不总是可以在顶级域“mydomain.org”上访问。我总是建议客户永远不要提供“www”。在安装博客包等时在域、路径等中,因为那么 f.ex。我的代码的网上商店后端只能访问“www”。如果从包含“www.”的 URL 导航到 cookie,即'www.mydomain.org/webshop/index.php'。
Marc 的建议非常适合那些永远不能过时的内容,例如登录页面上的内容或使用相同文件名重新上传的图片 - 只需将像他这样的随机生成的字符串添加到 img src="avatar.jpg" :)
Yep. From my experience, cookies set on a subdomain 'www.mydomain.org' are not always accessible on the top level domain 'mydomain.org'. I always recommend clients to never supply the 'www.' in domains, paths etc when installing blog packages etc, because then f.ex. a webshop backend I code will only be able to access 'www.' cookies if navigated to from a URL containing 'www.', ie. 'www.mydomain.org/webshop/index.php'.
Marc's suggestion is excellent for content that must never be stale btw, say stuff on a login page or re-uploaded pictures with the same filename - just slap on a randomly generated string like his to an img src="avatar.jpg" :)