我们目前有 2 个站点http://www.foo.co.uk
和https://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_hmac
setcookie.php 脚本的参数发送哈希,然后在另一个上验证它在创建 cookie 之前结束。
虽然这更好,但它并不能阻止中间人攻击。请记住 www 不是 SSL 安全的,我认为您无法完全阻止这种情况,因此下一个最好的方法是在哈希中包含一个时间戳,使其在 5 分钟内有效。
有没有人对我如何使它变得更好有任何想法,或者指出这种方法的任何缺陷?我将不胜感激。