代码之家  ›  专栏  ›  技术社区  ›  spoulson

如何在iframe中持久化会话?

  •  4
  • spoulson  · 技术社区  · 15 年前

    假设我有一个Web应用程序,我想使用iframe嵌入到任何其他站点中。iframe引用我的网站并独立于宿主网页运行。

    好吧,浏览器认为iframe是第三方站点,因此它的会话cookie被认为是第三方cookie。有些方法可以让浏览器满意(例如p3p头),但用户仍然可能完全禁用第三方cookie。如果是这样,会话cookie就不能持久存在于iframe中。

    在第三方站点的iframe中持久化会话的好方法是什么?

    2 回复  |  直到 7 年前
        1
  •  4
  •   halfer Rajnish Kumar    7 年前

    我也遇到了一个类似的问题。这里有一个解决方法(如果您打算跨站点跟踪用户行为,则不起作用)。

    i.在要托管iframe的域上放置第一方持久cookie。(这可以使用javascript完成)。

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

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

    我没有遇到任何其他的方法来解决这个问题。如果你找到一个更能接受的解决方案,一定要告诉我。

        2
  •  2
  •   spoulson    15 年前

    我的目的是跟踪iframe中的会话,以便单击和重新加载保持状态。不需要链接iframe和宿主站点之间的会话。

    我能想到的最好办法就是少吃饼干。这有点手动操作,但是这个站点运行php时,我只需要确保querystring始终包含” PHPSESSID=x “它将自动附加到会话ID。