2

我们目前有 2 个站点http://www.foo.co.ukhttps://secure.foo.com.

www 站点没有 SSL 证书并且位于不同的域中。

我们有一个登录按钮http://www.foo.co.uk,点击它会打开一个https://secure.foo.com带有表单的 iframe,当用户登录时,它会在该域上创建一个会话 cookie ( foo.com)。

然后需要将会话 cookie 复制到,foo.co.uk以便将您重定向到http://www.foo.co.uk/setcookie.php?session=abcd1234允许我们在源域上设置相同的 cookie。

这不是一个非常安全的解决方案,所以我一直在研究如何让它变得更好 - 我发现的最好的想法是使用类似于hash_hmacsetcookie.php 脚本的参数发送哈希,然后在另一个上验证它在创建 cookie 之前结束。

虽然这更好,但它并不能阻止中间人攻击。请记住 www 不是 SSL 安全的,我认为您无法完全阻止这种情况,因此下一个最好的方法是在哈希中包含一个时间戳,使其在 5 分钟内有效。

有没有人对我如何使它变得更好有任何想法,或者指出这种方法的任何缺陷?我将不胜感激。

4

1 回答 1

1

您可以在两个域之间共享秘密,并使用对称加密算法加密 cookie 值,或者在不安全域中设置公钥/私钥,并使用不安全域的公钥使安全域加密 cookie领域。

此外,请记住加密登录过程但随后通过不安全的通道传输会话 cookie 可能允许攻击者冒充您的用户(有关更多信息,请参阅firesheep Firefox 扩展)。

于 2012-10-24T16:05:37.260 回答