使用URL传递Session

有时候浏览器禁用cookie或者禁止第三方cookie的写入时,我们可能要使用到原生的session.

1、test.php

ini_set('session.use_cookies', 0);
ini_set('session.use_only_cookies', 0); //是否仅用cookie
ini_set('session.use_trans_sid', 1); //是否自动url带上session id
ini_set('session.name', 'sid'); //session name

session_start();
$_SESSION['name'] = 'hello';

echo '<a href="target.php?foo=bar">target</a> | <a href="target.php?' . session_name() . '=' . session_id() . '">target width session id</a>';

发现url上自动带上session id。

2、target.php

ini_set('session.use_cookies', 0);
ini_set('session.use_only_cookies', 0);
ini_set('session.use_trans_sid', 1);
ini_set('session.name', 'sid');

if (!isset($_GET[session_name()])) {
	die('fk');
}

session_id($_GET[session_name()]); // 要在start之前
session_start();

echo session_id();
echo '<br>';
print_r($_SESSION);
posted @ 2017-09-22 20:25  oneVillager  阅读(1295)  评论(0编辑  收藏  举报
打赏

喜欢请打赏

扫描二维码打赏