您的位置:首页 > 编程语言 > PHP开发

PHP客户端禁用cookie如何使用session

2016-09-22 19:42 711 查看
 客户端禁用cookie以后 session还是可以用,此时session的id值是基于cookie传递的,所以session就不能共享传递了,可以通过在url中附加PHPSESSID的值进行传递,这个就是session的id值。

 

禁用cookie,sessionid就不能直接传递了,因为http请求时sessionid就是放在cookie里的。你说的通过url传递的,那是变通的方法,服务器端通过session_id()函数可以获知当前session的sessionid,然后在用php生成页面的时候,把sessionid作为参数附加到url里,确实可以实现在禁用cookie的情况下传递sessionid

 

 

第一种方式:

在每个超链接上添加一个PHPSESSID=$sid

//防止返回初始页产生新的session

if(isset($_GET["PHPSESSID"])){

   session_id($_GET["PHPSESSID"]);

}

session_start();

$sid=session_id();

//在每个链接上添加参数PHPSESSID=$sid

其他页面的获取方式为:

if(isset($_GET["PHPSESSID"])){

      session_id($_GET["PHPSESSID"])

}

session_start();

 

第三种方式:

使用session.use_trans_sid=1,php.ini中配置

这种方式会在url上自动加上SID(href,location,action,注意:js跳转不会添加上SID)

 

 

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

2、手动通过URL传值、隐藏表单传递session id。

3、用文件、数据库等形式保存session_id,在跨页过程中手动调用。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: