cookie和session

1.cookie和session之间的关系

转自https://www.cnblogs.com/andy-zhou/p/5360107.html

2.浏览器没有禁用cookie时,服务器端会生成session_id存储在浏览器端中的cookie里面。

 8.php页面代码如下所示

1 <?php
2 session_start();
3 $_SESSION['va'] = 'abc';
4 $s = session_id();
5 echo "<a href='9.php?s=".$s."'>a</a>";

浏览器访问如下展示。说明存储在cookie里面的PHPSESSID的值和页面上session_id()函数生成的值是一样

 

3.cookie禁用之后怎么识别用户的session_id

 1)使用url携带sessionid的值

 2)设置php.ini的session.use_trans_sid = 1或者打开enable-trans-sid选项,让PHP自动跨页传递session id。

 3)session_id值存储在登陆后存储在数据库或者中,在其它页面传入session_id值。

 第一种方式的代码如下

  8.php

<?php
session_start();
$_SESSION['va'] = 'abc';
$s = session_id();
echo "<a href='9.php?s=".$s."'>a</a>";

  9.php

<?php
//session_id()函数必须在session_start()函数前面调用
session_id($_GET['s']);
session_start();
echo "客户端禁止了cookie依然能传来session值:".$_SESSION['va'];

  

  

原文地址:https://www.cnblogs.com/zxqblogrecord/p/8622912.html