如何在任何域中保护cookie?

时间:2017-06-14 12:39:57

标签: javascript security cookies

是否有其他方法可以保护cookie访问其他域名?

在我的应用程序中我在1个修复域(cookie.xyz.com)上设置cookie,我需要跟踪任何域上的用户,基本上我们是SaSS公司,我们的客户将把我们的js代码放在他的网站上,然后我们在我们的一个cookie.xyz.com上设置并获取cookie,因为客户端可以将我们的js放在多个域上。 (现在我使用iframe和窗口消息来获取/设置cookie.xyz.com上的cookie)

所以现在在我的情况下,任何人都可以使用js窃取最终用户的cookie并使用它,他自己也可以成为最终用户。

那么什么可以解决这个问题,所以只有我的代码(在任何域的上下文中运行)才能从特定域读取和写入cookie(我们这样做是因为我们的客户端没有一个或修复域)。

在关注此问题之前,让我告诉你。 我知道这是不可能的,这就是为什么我在这里要求找到可能的或黑客的解决方案?

1 个答案:

答案 0 :(得分:0)

您正面临一个Cross Origin用例,您希望在您的原始域中获得自由,但是您希望在其上添加控制权。

两种情况都很难共存。

解决方案是在您的后端webservice上添加对请求来源的控制,例如:

header("Access-Control-Allow-Origin: http://origin.domain:port");
Access-Control-Allow-Credentials: true

并更新您的JS Call以将凭据添加到true。