Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php IE8中cookie过期设置为0时出现问题_Php_Cookies_Internet Explorer 8 - Fatal编程技术网

Php IE8中cookie过期设置为0时出现问题

Php IE8中cookie过期设置为0时出现问题,php,cookies,internet-explorer-8,Php,Cookies,Internet Explorer 8,我发现IE8在将cookie expirations设置为0(以便在用户关闭浏览器时注销)方面存在一个相当严重的问题。似乎每个新选项卡或窗口都算作一个新会话,因此,如果用户在新选项卡/窗口中打开站点上的页面,他们必须再次登录,除非他们选择保持登录的选项,这会使cookie持久化,并且不会导致任何问题。必须有一种方法使它能够正常工作,而且在过去一直如此,即使在用户关闭浏览器后,也不会强迫他们保持登录状态。如果重要的话,我将从pHP设置cookies,如下所示: setcookie("usernam

我发现IE8在将cookie expirations设置为0(以便在用户关闭浏览器时注销)方面存在一个相当严重的问题。似乎每个新选项卡或窗口都算作一个新会话,因此,如果用户在新选项卡/窗口中打开站点上的页面,他们必须再次登录,除非他们选择保持登录的选项,这会使cookie持久化,并且不会导致任何问题。必须有一种方法使它能够正常工作,而且在过去一直如此,即使在用户关闭浏览器后,也不会强迫他们保持登录状态。如果重要的话,我将从pHP设置cookies,如下所示:

setcookie("username",$username,0," ",".example.com");

问题可能是路径字段中的空格。此属性应该是未指定的,或者应该是有效的路径,如/home。请尝试指定空字符串(“”)而不是空格

也可能是缓存问题,即登录页面可能未经验证,因为内容已缓存。php中的session_cache_limiter('nocache')会指示浏览器不要缓存任何内容(使用sessions时),这与设置相同:

Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
若要省略路径,可以将“”或null传递给该参数的setcookie。或者使用类似“/”的符号来表示整个站点


ie8窗口和选项卡共享同一会话,除非用户选择“文件->新建会话”或显式运行iexplore.exe-nomerge。

这不是缓存问题。正如我所说的,IE8将每个选项卡/窗口解释为一个新会话,因此只携带持久cookie。很明显,缓存不是问题所在,因为我重定向到登录页面(URL中包含您来自的页面),无论是哪个URL,它都会这样做。我只运行了HTTP Spy,登录了一个页面,所有cookie都显示正确。然后,我打开了页面上的一个链接(该链接在URL中包含一个随机数,用于中断缓存),并将其重定向到登录页面。HTTP Spy没有显示其他选项卡中显示的任何登录cookie。顺便说一句,这不是我的特定设置的问题。我一直收到用户发来的关于它的电子邮件,我在多台计算机上试用过,结果都是一样的。默认情况下,ie8窗口、选项卡和弹出窗口属于同一个会话,因此它们不是孤立的上下文。至于缓存,如果未禁用缓存,ie将缓存响应(例如,再次浏览/home或/login可能不会显示当前用户,但这完全取决于应用程序的构造方式和测试场景)。要检查的另一件事是使用http spy来验证cookie数据是否包含预期值查看
设置cookie的实际外观是什么样子的?您指的是它的实际外观?