为什么URL重定向之后SESSION就不能用了?
为什么URL重定向之后SESSION就不能用了?
http://www.baidu.com/index.php
此时写个SESSION['key'] = 200;
重定向到
http://www.sian.com
,
http://www.sian.com
再重定向到
http://www.baidu.com/index.php
,发现SESSION['key'] 就找不到了??
请问为什么啊?还有COOKIE 存在这样情况吗?
SakiNya
9 years, 9 months ago
Answers
你是用服务器端直接redirect的么?若是,很有可能会出现这种问题。因为session要与cookie对应
client-->A(set session and redirect to B)-->B-->A
第一次访问A时set的Cookie有可能还没保存到用户浏览器,就收到302重定向走了,所以再返回A时就没有cookie去对应session了,当然也有可能是从B重定向到A时,因为跨域,请求头里没有A域下的cookie,所以拿不到session。
所以这种重定向,一般是单独做一个重定向页面(js或其他方式)做跳转,而不是直接服务器端redirect,参考微博,空间等网站都有类似的专门重定向页面
chen西野司
answered 9 years, 9 months ago