如何在iframe中保留会话?

时间:2009-05-27 19:11:16

标签: security session browser iframe cookies

假设我有一个网络应用,我想使用iframe嵌入到任何其他网站。 iframe引用我的网站,并独立于托管网页运行。

嗯,浏览器认为iframe是第三方网站,因此其会话cookie被视为第三方cookie。存在一些使浏览器满意的方法(例如P3P标题),但仍然可能用户将完全禁用第三方cookie。如果是这样,则会话cookie不能在iframe中保留。

在第三方网站上的iframe中保存会话有什么好方法?

2 个答案:

答案 0 :(得分:4)

我遇到过类似的问题。有一种解决方法(如果您的目的是跟踪跨站点的用户行为,则无法使用)。

我。在要托管iframe的域上放置第一方永久Cookie。 (这可以使用JavaScript完成。)

II。动态注入iframe并将cookie的值传递到您的站点。

III。如果您打算跨站点跟踪用户行为,请修改上述代码,以便在浏览器允许时使用第三方cookie,否则切换您使用上述方法。

我没有遇到任何其他解决方法。如果您找到更可接受的解决方案,请告诉我。

答案 1 :(得分:3)

我的目的是跟踪iframe中的会话,以便点击和重新加载维持状态。没有必要在iframe和托管网站之间链接会话。

我能想到的最好的是无cookie会话。这有点手动,但是这个站点运行PHP,我只需要确保查询字符串始终包含“PHPSESSID=x”,它将自动附加到该会话ID。