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);
View Code

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不能用。

原文地址:https://www.cnblogs.com/tommy-huang/p/4208417.html