奇怪的PHP会话变量和缓存问题从2020年8月14日开始

问题描述

我在服务器上有一个站点,其中包含使用PHP构建的页面。昨天,我为该站点激活了防火墙。该网站托管在GoDaddy上。该站点一个俱乐部管理系统,我有80多个俱乐部在使用它。每个俱乐部都是数据库中各自的“租户”。

昨天下午,我收到一个报告,该用户访问了一个页面,该页面显示一个不同的俱乐部,而不是他们自己的俱乐部。今天早上我收到了更多关于这种情况的报告。

我使用$ _SESSION变量来控制用户可以在系统中访问哪些“租户”。据我所知,服务器似乎正在交回不属于用户的会话变量。我正在使用PHPSESSID cookie进行会话管理。

我还发现我的PHP页面似乎正在缓存,即使在脚本/页面开始处具有此no-cache指令的页面上。

    <?PHP
    session_start();
    header('Cache-Control: no-store,no-cache,must-revalidate');
    header('Cache-Control: post-check=0,pre-check=0',FALSE);
    header('Pragma: no-cache');
    header('Expires: 01 Jan 1970 00:00:00 GMT');

如果我在URL中添加随机参数(?foo = bar)并刷新页面,则会为我加载一个页面

我把头靠在这里的墙上。有谁知道会发生什么?如果他们能在这里帮我,我会给他们买一杯咖啡。 :-)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)