【发布时间】:2010-12-17 06:45:55
【问题描述】:
我注意到我的网站在许多版本的 Internet Explorer 下都无法正常运行。环顾四周后,我做了一个“cookie”测试(http://www.rgagnon.com/jsdetails/js-0092.html),发现当我使用任何版本的 IE 时 cookie 都不起作用,但在 Chrome、Firefox、Safari 上都可以正常工作......
似乎当 cookie 不起作用时,我的会话变量会不断消失。我使用 php 会话。 PHP不应该自动处理这个问题吗?
我确实使用了一些 javascript window.location 和一些 ajax 调用 (phplivex)。会不会是因为这个?无论如何,它不会在所有url的末尾附加phpsessionid吗?
【问题讨论】:
-
你在每一页都使用 session_start() 吗?
-
是的,我现在想这是因为php没有将会话ID添加到诸如window.location之类的javascript代码中
-
@nute:PHP 会话管理是基于 cookie 的,所以如果 IE 不记得 cookie,这是正常的,你会一直丢失会话
-
您是否建议我告诉我的用户,如果他们想使用我们的网站,他们需要接受 cookie,而不是在 URL 中插入会话 ID?
-
是的。将会话 ID 放在 URL 中存在潜在的安全风险:phpsec.org/projects/guide/4.html
标签: php javascript ajax session