禁用cookie,怎样实现session技术共享多个页面?
2017-01-18PHP
不言不语是一个程序员开发的个人网站,该博客涵盖多种后台开发技术,如GO、Java、PHP等。致力于把最前沿的后台开发技术,通过网站博客的形式分享给更多有需要的人。
这个问题经常被面试官问到,能回答出这个问题,面试官还是比较认同你的。这个问题的描述的是,我们在浏览器禁用了cookie功能,如何实现系统生成的cookie相关文件只有一个,而不是若干个。解决这个问题有以下三种方法:
一、在每个超链接上添加一个PHPSESSID=sessionId;
同时在每个页面加入以下代码
if(isset($_GET['PHPSESSID'])){
//设置session_id
session_id($_GET['PHPSESSID']);
}
session_start();
二、使用常量SID
使用方法:在超链接 action header("Location: xx") 可以直接拼接 SID常量即可,例如
echo "西游记
"
三、可以启用session use_trans_sid指定是否透明SID支持,即可查看这样的设置
session use_trans_sid=1;
这样重启apache即可生效
很赞哦! ()