php在浏览器禁止cookie后,仍然能使用session的方法

时间:2023-03-09 19:45:05
php在浏览器禁止cookie后,仍然能使用session的方法

1.a.php页面

     session_start();
$_SESSION['msg'] = "i love you";
$sn = session_id();//获取当前session的id
header( 'Content-Type: text/html; charset=utf-8' );
//跳转到index.php页面,并把session的id传递过去,sn可以随便写
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不能用。