我正在使用 JavaScript/jQuery 开发一个自动化工具。
为了操纵 DOM,我通过代理服务器对所有 iframe/浏览器访问进行隧道传输,使它们都位于同一域中。
这一切都运行良好!但我的端点应用程序是事务性 jsp/servlet 数据库,我希望对其进行多次访问。
我想,因为代理“隧道”通过代理的所有访问都具有相同的会话,这是不可取的,因为我需要对应用程序进行多次访问,为此我必须创建不同的会话。
我试图弄清楚如何为每个 Iframe/浏览器实现一个唯一的 sessionID,指向通过相同(?)代理服务器传递的相同 Web 应用程序,大致:
iframe ---\
iframe -----> browser ---> apache proxy ---> jsp transactional app
iframe ---/
我在 Firefox (FireBug) 上嗅探流量,所有 iframe 都具有相同的会话 ID。这不仅仅在 iframe 上,即使我启动另一个浏览器并使用通过代理传递的链接,我也会保留相同的会话 ID。
使用 Apache http Server 2.2.20 (win32)。
代理配置(如果有用):
ProxyPass /bbb http://xxx/bbb/
ProxyPassReverse /bbb/ http://xxx/bbb/
iframes src 属性是否指向同一个域或子域?
请记住,Session 是通过 cookie 实现的,并且 cookie 是通过它们所属的域和子域共享的,例如:
如果 Cookie 属于 yourdomain.com,则 subdomain.yourdomain.com 可以访问它
但是
如果 Cookie 属于 subdomain.yourdomain.com,则 yourdomain.com 或 subdomain1.subdomain.yourdomain.com 不能 有权访问它
无论是 iframe 还是其他浏览器窗口或选项卡都没关系...