首頁 > 後端開發 > php教程 > 为什么URL重定向之后SESSION就不能用了?

为什么URL重定向之后SESSION就不能用了?

WBOY
發布: 2016-06-06 20:36:17
原創
2233 人瀏覽過

为什么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 存在这样情况吗?

回复内容:

为什么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 存在这样情况吗?

你是用服务器端直接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,参考微博,空间等网站都有类似的专门重定向页面

程序还是游览器?游览器的话,跟服务的设置和游览器的设置有关系的。

可以在每次redirect的时候,预设session,这样可以保证每次重定向后,session依然有效。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板