1
3
存储会话标识符的cookie绑定到主机,而不是主机+端口。当您访问第一个站点时,您将获得新的会话ID 在3.1中(但不是在3.0中) ,然后填充会话数据并可以看到它。之后,您将使用此会话ID转到其他端口,但现在它无效(我相信您可以在调试模式下的登录中看到这一点)。所以服务器会给你发送新的会话ID。现在你返回到第一个服务器,你的标识符再次无效,所以你得到了一个新的会话ID。当然,中的会话中没有此新标识符的数据。 更新 :rfc 2109,第4.3.1节解释集cookie说:
但标准的解释并不那么明显。这是一个相关的 ticket 在Firefox Tracker中:
|
2
1
DR
:更改cherrypy配置参数
长回答 : 我知道这是一个很老的问题,但我认为有一个很简单的答案。下面写的是为了将来的搜索者。 cherrypy使用cookie查找会话。默认情况下,这称为“session_id”,并有一个随机的十六进制字符串作为其值。如果给cherrypy一个它不能识别的会话id,它就会生成一个新的会话id,这是防止会话固定的措施。 当您在同一个域上有两个应用程序时。它们都使用相同的cookie名称(即“session\u id”),但都无法识别另一个的session\u id,因此它们会用一个新的覆盖它。因此,从一个应用程序移动到另一个应用程序将使会话无效。
解决方案很简单:在cherrypy配置中,可以通过设置
您需要确保会话存储是独立的,因为您已经正确识别了。 从上面的例子中,您可以这样做:
注意:在我自己使用cherrypy 10.0.0的应用程序中,我在应用程序级别和路径级别使用了这个配置选项。我还没有用老版本的cherrypy测试过这个,但是从源代码来看,这看起来已经有十多年的可能了。 自撰写本文以来,我对Cherrypy的文档进行了更新,包括: http://docs.cherrypy.org/en/latest/pkg/cherrypy.lib.html#session-fixation-protection |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |