2009-05-27 149 views
4

假设我有一个Web应用程序,我想使用iframe将其嵌入到任何其他站点中。 iframe引用我的网站并独立于托管网页运行。如何在iframe中坚持会话?

那么,浏览器认为iframe是第三方网站,因此它的会话cookie被认为是第三方cookie。有些方法可以使浏览器开心(例如P3P标头),但仍有可能用户将第三方Cookie完全禁用。如果是这样,那么会话cookie不能保存在iframe中。

在第三方网站的iframe中保持会话的好方法是什么?

回答

2

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

我能想到的最好的方式就是无cookie会话。这是一个手动的,但与此网站运行PHP,我只需要确保查询字符串始终包含“​​”,它会自动附加到该会话ID。

4

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

i。将第一方永久性cookie放置在要托管iframe的域中。 (这可以使用JavaScript来完成)。

ii。动态注入iframe并将Cookie的值传递到您的网站。

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

我还没有遇到任何其他方式来解决这个问题。如果您找到更可接受的解决方案,请告诉我。