php session bug,thinkphp2.x中session的BUG及解决办法
很多人出现一个TP构建的APP,出现SESSION相同导致用户未经授权就登陆了其它项目,N久没有找到原因。今天晚上跟踪了一下代码,找到了问题。
主要原因在于TP在项目实例化的时候没有对SESSION进行配置就直接初始化了。
/Core/App.class.php中看到这段代码
[php]if(C('SESSION_AUTO_START')) session_start();[/php]
这里的代码未考虑用户的SESSION参数设置就直接初始化了,导致所有APP的SESSION全部按同样的设置进入生产环境,就会出现session相同导致用户信息出错的问题。
正确的方法应该改成
[php]
// Session应该这样初始化
if(C('SESSION_AUTO_START'))
{
import('Think.Util.Session');
Session::_init();
session_start();
}
[/php]
init的时候,可以设置session_name和session_path,这样就可以给不同的项目设置不同的session特征。
然后可以在项目配置文件中,添加SESSION信息的设置
[php]
'SESSION_AUTO_START' => true,
'SESSION_NAME'=> 'tqc',
'SESSION_PATH' => dirname('.') .'/Data/Session',
[/php]
至此,问题解决。
php session bug,thinkphp2.x中session的BUG及解决办法相关推荐
- 深度学习中神经网络模型压缩的解决办法( flask API、onnx、ncnn在嵌入式、流媒体端口应用)
深度学习中神经网络模型压缩的解决办法( flask API.onnx.ncnn在嵌入式.流媒体端口应用) 1 开发环境的创建 1.1 Conda简介 1.2 miniconda 1.3 conda操作 ...
- 【ML/DL】python3学习《机器学习实战》书中的报错及解决办法
python3学习<机器学习实战>书中的报错及解决办法(更新中) <机器学习实战>是一本很不错的书,其采用的是py2的语法格式,在用最新的python3.6编写代码的过程中,书 ...
- Vscode调试设置中的python路径无效解决办法
Vscode调试设置中的python路径无效解决办法 如果你已经试过修改"default interpreter Path"但无效可以继续往下看 如果你已经试过修改"de ...
- GDI+中发生一般性错误的解决办法 from http://www.cnblogs.com/winzheng/archive/2008/12/23/1360440.html...
GDI+中发生一般性错误的解决办法 这个错误经常发生,代码如下: private static byte[] GetBytes (Image image) { ...
- redhat enterprise 5 在 VMware 6.5 中中文显示乱码的解决办法
redhat enterprise 5 在 VMware 6.5 中中文显示乱码的解决办法 事情的经过是这样的 记得以前曾经在VMware 5.5.3 上装过redhat 估计是9吧 当初我选的是图形 ...
- Jupyter中打印所有结果的解决办法
学习笔记,仅供参考 Jupyter中打印所有结果的解决办法 我们都知道,在Jupyter中,除非加上print,每个cell只会显示最后一个输出结果,这里,我们通过加上如下代码,使之打印所有的交互式输 ...
- ubuntu18.0.4 不能下载 libgd2-dev(ubuntu 20.04 安装perl 中GD 模块失败的解决办法)
ubuntu18.0.4 不能下载 libgd2-dev 一.错误信息: Unable to locate package libgd2-dev 二.原因 没有对应源 到 https://packag ...
- phpcmsV9 中 phpsso通信失败的解决办法
phpcmsV9 中 phpsso通信失败的解决办法 phpcmsV9 通信失败,很大一定程度上是因为通信地址设置不一致,很多人想象认为通信参数需要设置的必须保持一致才能实现正常的通信,实际检测并非如 ...
- RS错误RSV-VAL-0032之项目未在布局中引用的3种解决办法
如下图所示,我用RS新建了一个空白页面,拖入了一个列表,给该列表新建了一个条件样式 条件样式如下所示,表达式来自查询1 运行,报错如下图所示 原因就是条件样式使用到了查询1中的数据项1但是数据项1在报 ...
最新文章
- 用Java实现图片验证码功能
- 如何将多个一维列表转化为二维列表_数据分析2_如何处理一维、二维数据
- 使用C#登录带验证码的网站
- 关于maven导入工程pom文件报错问题及解决
- node.js学习之react,redux,react-redux
- web developer tips (56):手动更新JScript的智能感知
- 【原】YUI3:js加载过程及时序问题
- 【聚类3】密度聚类+层次聚类
- 除了Google还有什么搜索引擎?
- 保温杯内壁有很多小泡泡
- 学习初期 荆棘之路
- 怎么用python画房子_python绘图作业:使用pygame库画房子
- mysql主从配置duxi_配置MySQL主从复制(一主一从)
- HTML详解(1.html简介)
- SQL注入的测试方法
- PLM是做题家吗?一文速览预训练语言模型数学推理能力新进展
- 对话|鲜丰水果:“看不见”的门店数字化
- 变革边缘——Web3.0の野望(上)
- 表达式语言-0421-v1.0张雅慧
- Unity炸弹爆炸伤害(群攻伤害)
热门文章
- 上传 mp4 格式判断_视频如何转换成通用的MP4格式?按下这个键,10秒就能搞定...
- mysql异步查询 java_基于 mysql 异步驱动的非阻塞 Mybatis
- linux内核调度 0号进程,Linux内核源代码情景分析---第四章 进程与进程调度
- Nginx(一):概念基础
- 优雅的redux异步中间件 redux-effect
- 一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate
- Phoenix:全局索引设计实践
- 三张图搞懂JavaScript的原型对象与原型链
- Hibernate的懒加载session丢失解决方法
- tomcat +apache 配置集群