根据主机域限制iframe cookie

时间:2018-05-18 11:13:00

标签: javascript http cookies setcookie

我有一个网络应用程序,意味着要在不同主机上的iframe中加载(让我们说从myiframe.com提供)。为了保持会话,我使用一个名为“会话”的cookie。使用myiframe.com域时第一次请求iframe内容时设置。

现在让我们说主机A(a.com)加载iframe,因此会话cookie设置为域myiframe.com。如果您导航到主机B(b.com),则使用相同的会话cookie。我想要的是会话彼此独立,你可以在A中进行会话,在B中进行不同的会话。当从B请求应用程序时,不会使用从A请求时设置的cookie。

我认为我可以根据主机使用不同的cookie名称,然后通过将适当的cookie与主机的信息进行匹配来验证会话,但我想知道我是否能够以某种方式使用'设置-cookie'标题和Cookie的域名。

BTW我无法控制主机或者他们如何添加iframe,尽管他们都以完全相同的方式执行。

编辑:用于获取iframe内容的请求包含足够的信息以便可靠地识别主机。这不是问题。

1 个答案:

答案 0 :(得分:1)

您无法为“其他”域设置Cookie,因此从myiframe.com加载的内容将无法为a.comb.com

设置Cookie

如果您有一种机制来确定您的内容通过iframe嵌入的位置(引用者不会真的为此工作,分别太不可靠),那么您可以使用不同的会话cookie名称来获取“for”的不同会话在a.com和b.com内运行的iframed内容。