Rumah  >  Artikel  >  pembangunan bahagian belakang  >  客服端禁用了cookie,服务端PHP仍旧使用session的方法

客服端禁用了cookie,服务端PHP仍旧使用session的方法

WBOY
WBOYasal
2016-06-20 13:01:29898semak imbas

在php服务端当一张页面调用了session_start()函数之后,这张页面做了3件事情
1,在服务器端创建了一个sess_###############的文本文件(c:\window\tem\目录下面)
2,删除一起失效的sess_##########文本文件(此处就不在讲了)
3,把http头 和 网页的内容发给用户,其中http头中有set-cookie:PHPSESSIONID=123456789755jahasd这么样的一串数字,
当没有禁用cookie的时候,用户再次访问此网站的时候,浏览器会把PHPSESSIONID=123456789755jahasd,禁用的时候PHPSESSIONID=123456789755jahasd浏览器不会在带给服务器了

此时我们还要在用PHPSESSIONID=123456789755jahasd这个字符串的时候,我们可以把它放到每个超链接后面,作为get请求带给服务器
例如:

第一张页面:

<?php
  session_start();
 $id = session_id();  //获取session_start()生成的session_id
$_SESSION['web'] = '某php博客';
?>
<a href='http://www.scutephp.com?user=123&PHPSESSIONID=<?php echo $id;?>'>PHP建站经验</a>



第二种页面:
 

<?php
    if($id = $_GET['PHPSESSIONID'])
   {
       session_id($id);     //让下面的session_start(),如果有这个文件就不要创建,否则就创建
   }
 sesstion_start();
echo  $_SESSION['web'];  同样可以把session取出来

?>

 


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Openbiz 实现 PHP的元数据编程Artikel seterusnya:PHP判断客户端UA