我正在使用 python web.py 创建一个快速原型来测试一些东西。我注意到会话变量的范围是同一浏览器(例如 Chrome)上的 2 个选项卡共享会话。
有没有办法避免这种情况?这将使我能够更有效地调试和测试。
为了提供一些上下文,我正在使用DiskStore
会话:
session = web.session.Session(app, web.session.DiskStore('sessions'))
谢谢。
所有现代浏览器都以这种方式运行。它与将 cookie 发送到先前已设置 cookie 的站点有关。否则,弹出窗口和其他窗口将无法正常运行。
为了解决这个问题,我经常在 Chrome 中使用隐身和普通浏览。那里有一个分隔,可以防止一个人看到另一个人的 cookie。
此外,您可以使用单独的浏览器来完成此操作。
我有同样的问题。看到这个问题:https ://stackoverflow.com/questions/13187649/how-to-solve-webapp2-session-cookie-conflicts-between-browser-tabs
我通过创建自己的会话 ID(包括 CSRF)并将此会话 ID 保存在表单中而不是 cookie 中来解决它。session-id 指向我的数据库会话存储。
非常酷的选择:
您还可以使用 --user-data-dir= 选项运行多个不同的 Chrome 副本。
——丹·D。