php在浏览器禁止cookie后,仍然能使用session的方法
1.a.php页面
1 session_start(); 2 $_SESSION['msg'] = "i love you"; 3 $sn = session_id();//获取当前session的id 4 header( 'Content-Type: text/html; charset=utf-8' ); 5 //跳转到index.php页面,并把session的id传递过去,sn可以随便写 6 header("Location: index.php?sn=".$sn);
2.b.php页面
session_id($_GET['sn']);//获取从a.php传递过来的sn参数 session_start(); echo $_SESSION['msg'];
3.不少人说还得修改php.ini的配置,不过我没有改也成功了,但是还是写下来:
php.ini 中 SESSION 的配置
session.use_only_cookies = 1; // 开启仅使用cookies存放会话id
session.use_trans_sid = 1; // 允许SessionID通过URL明文传输
在这种情况下虽然已经允许了SessionID通过URL明文传输,
担是同时又开启了仅使用cookies存放会话SessionID,所以在URL中明文传输的PHPSESSIONID参数值是无效的,
SESSION不能用。