php session_start ios拿不到sessionid
我发现一个奇怪的问题,比如我在php文件上写了session_start();//初始化session$_SESSION['name']=1;//在session文件中添...
我发现一个奇怪的问题,比如我在php文件上写了
session_start(); //初始化session
$_SESSION['name']=1;//在session文件中添加键为name,值为1的数组
setcookie('PHPSESSID1',session_id());//写入cookies,键为PHPSESSID1,值为sessionid(假设为123456)
浏览器、安卓和ios分别向服务器请求这个文件后,
1、安卓在cookie里拿到PHPSESSID(键)的值为123456,和sessionid(键)的值为123456。
2、所有的浏览器在cookie里拿到PHPSESSID(键)的值为123456,和sessionid(键)的值为123456。
3、ios在cookie里只能拿到sessionid(键)的值为123456。
为什么呢? 展开
session_start(); //初始化session
$_SESSION['name']=1;//在session文件中添加键为name,值为1的数组
setcookie('PHPSESSID1',session_id());//写入cookies,键为PHPSESSID1,值为sessionid(假设为123456)
浏览器、安卓和ios分别向服务器请求这个文件后,
1、安卓在cookie里拿到PHPSESSID(键)的值为123456,和sessionid(键)的值为123456。
2、所有的浏览器在cookie里拿到PHPSESSID(键)的值为123456,和sessionid(键)的值为123456。
3、ios在cookie里只能拿到sessionid(键)的值为123456。
为什么呢? 展开
1个回答
推荐于2016-02-08 · 知道合伙人软件行家
关注
展开全部
这个问题我遇到过
ios的浏览器好像屏蔽了session的cookie
本来服务器端开启了session后,浏览器访问服务器时会把session_id自动带回给服务器端
但是在ios的浏览器上,它不会自动把这个值带回去,所以会丢失session
我的解决方案是,生成session的时候,产生一个唯一值,传给浏览器,浏览器再次访问服务器时以get形式把这个值再传回去,然后session_id(回传键值);session_start();可以找回之前设置的session内容
安卓浏览器上没有这个问题
ios的浏览器好像屏蔽了session的cookie
本来服务器端开启了session后,浏览器访问服务器时会把session_id自动带回给服务器端
但是在ios的浏览器上,它不会自动把这个值带回去,所以会丢失session
我的解决方案是,生成session的时候,产生一个唯一值,传给浏览器,浏览器再次访问服务器时以get形式把这个值再传回去,然后session_id(回传键值);session_start();可以找回之前设置的session内容
安卓浏览器上没有这个问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询