博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Session.use_trans_sid Session值跨脚本(跨页面)传递
阅读量:4964 次
发布时间:2019-06-12

本文共 1493 字,大约阅读时间需要 4 分钟。

在研究ecshopinit.php脚本页面时,看到@ini_set('session.use_trans_sid', 0);这样一段代码。在此代码中的session.use_trans_sid有什么作用?为什么它的值要设置为0

 

基础:

Session会话中传递SESSIONID有两种方式:

1. 基于cookie传递(常用方式) 

2. 基于URL传递

 如果用户的客户端(浏览器)禁止了cookie,那么基于cookie的传递就不能成功,跨页面就无法传递session值了,这个时候可以通过php.ini中设置session.use_trans_sid=1达到跨页面专递的效果,具体情况看下面的实例

 

实例:cookie专递sessionid这里就不举例子了

一、假设客户端已经禁止了cookie传值,并且php.ini中设置session.use_trans_sid=1(或者php代码中设置set_ini(session.use_trans_sid=1) 

页面a.php代码:

 

下一页";    echo $url; ?>

页面b.php代码

 

二、 假设客户端已经禁止了cookie传值,并且php.ini中设置session.use_trans_sid=0(或者php代码中设置set_ini(session.use_trans_sid=0) 

页面a.php代码:

 

下一页";    echo $url; ?>

页面b.php代码

 

QQ图片20160323124915.png

上面两种情况总结:

1. a.php页面中必须要有<a href='b.php'>下一页</a><a href='b.php?sessid=$sessid'>下一页</a>这样的超链,通过超链传递SESSIONIDb.php,如果是直接在浏览器中访问的b.php就只有cookie传值才能成功,所以此方法就必须通过URL传递

2. 如果设置session.use_trans_sid=1,即使在a.php页面中的<a href='b.php'>这个链接中不添加“?sessid=$sessidphp会自动添加的,而且在b.php中不需要session_id($_GET['sessid']);php也会自动获取到SESSIONID,但是如果session.use_trans_sid=0那么“?sessid=$sessid”和session_id($_GET['sessid']);是必须出现在应该出现的位置,不然无法跨页面获取session值得

 

补充:

session.use_trans_sid=1 ,表示当客户端浏览器禁止cookie的时候,页面上的链接会基于url传递SESSIONID。但是很多人仅仅设置了这一个选项并没有达到效果,本人也 遇到此问题,后来一番研究发现

php.ini 文件中还有两个选项
session.use_cookies=1
session.use_only_cookies=1

session.use_cookies表示是否开始基于cookies的session会话

session.use_only_cookies 表示是否只开启基于cookies的session的会话方式

就是说如果session.use_trans_sid=1并且客户端浏览器禁止cookie的时候,达不到效果,就要注意session.use_only_cookies的值是否为0

 

转载于:https://www.cnblogs.com/liuxiaowei/p/7163556.html

你可能感兴趣的文章
CodeForces Round #527 (Div3) D1. Great Vova Wall (Version 1)
查看>>
xvid x264
查看>>
置顶目录
查看>>
安装vue-cli过程中卡住
查看>>
脚本基础
查看>>
Windows的系统中DLL文件详解
查看>>
sql server 语句
查看>>
Redis-客户端缓冲区 output buffer
查看>>
[原创]X-HDL 4.2安装与使用
查看>>
iOS开发技巧(1)
查看>>
校内测试618
查看>>
hive中的with用法
查看>>
运维自动化之1 - ansible 批量主机管理
查看>>
Python开发【第十五篇】:Web框架之Tornado
查看>>
HTML表格边框的设置小技巧-表格
查看>>
Java内存回收 - 落日之心的日志 - 网易博客
查看>>
汇编语言-数据表示
查看>>
java中的TreeMap如何顺序按照插入顺序排序
查看>>
NFS原理详解
查看>>
Java代码加密与反编译(二):用加密算法DES修改classLoader实现对.class文件加密...
查看>>