会话变量 &从 https 转到 http 页面时,cookie 在 IE 中消失

发布于 2024-09-27 16:20:38 字数 520 浏览 2 评论 0原文

在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

2024-10-04 16:20:39

是的。根据我的经验,在子域“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" :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文