php自定义发送Session会话id,PHP – 使用session.use_trans_sid时会话ID更改

我开发了一个使用基于cookie的会话的

PHP Web应用程序,它一切正常 – 直到我意识到它将无法在禁用第三方cookie的浏览器中工作(因为脚本将在iframe上加载另一个网站/域名).

所以我决定切换到基于URL的会话(我认为这是安全的,因为脚本在iframe中,没有可见的URL供用户共享或书签等).

但是,出于某种原因,由于我切换到基于域的会话,我的Web应用程序中的每个页面都使用不同的会话ID.

这是我的代码……

ini_set("session.use_cookies", 0);

ini_set("session.use_only_cookies", 0);

ini_set("session.use_trans_sid", 1);

ini_set("session.cache_limiter", "");

session_start();

echo "

Session ID: " . session_id() . "

"; // Test output

…这是在每个页面上调用的第一件事(没有我以前的输出).

我的Web应用程序的第一页包含一个表单,我看到PHP自动添加了所需的隐藏会话ID输入:

< input type =“hidden”name =“PHPSESSID”value =“m4jbeec47uplnf95ue2h244a02”/>

但是下一页(表单提交)报告的会话ID是

会话ID:iiovfkrf3hesj1um5orasv7it6

此外,当我使用https://(而不是http://)加载第一页时,提交表单会导致重新加载相同的页面(而不是正在加载的下一页).

我已经尝试过的:

ini_set(“session.cookie_secure”,0);

ini_set(“session.cookie_secure”,1);

ini_set(‘session.gc_maxlifetime’,30 * 60); //在30分钟后到期

和(在脚本的末尾)

session_write_close();

并删除

ini_set(“session.cache_limiter”,“”);

来自phpinfo():

session.auto_start Off Off

session.cache_expire 180 180

session.cache_limiter nocache nocache

session.cookie_domain no value no value

session.cookie_httponly Off Off

session.cookie_lifetime 0 0

session.cookie_path / /

session.cookie_secure Off Off

session.entropy_file no value no value

session.entropy_length 0 0

session.gc_divisor 1000 1000

session.gc_maxlifetime 1440 1440

session.gc_probability 1 1

session.hash_bits_per_character 5 5

session.hash_function 0 0

session.name PHPSESSID PHPSESSID

session.referer_check no value no value

session.save_handler files files

session.save_path /tmp /tmp

session.serialize_handler php php

session.upload_progress.cleanup On On

session.upload_progress.enabled On On

session.upload_progress.freq 1% 1%

session.upload_progress.min_freq 1 1

session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS

session.upload_progress.prefix upload_progress_ upload_progress_

session.use_cookies On On

session.use_only_cookies On On

session.use_strict_mode Off Off

session.use_trans_sid 0 0

有任何想法吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值