了解与顶级域及其子域的cookie域关系

时间:2011-08-15 14:16:55

标签: security cookies xss single-sign-on vbulletin

我有一个包含2个子域名的域名:www.domain.com和secure.domain.com(使用ssl)。 www子域名将运行vbulletin(易受xss攻击),安全子域名后面的web服务更好,更安全,对攻击更敏感,因为那里涉及真钱。 domain.com是301重定向到www.domain.com。现在,我想在不损害安全子域安全性的情况下对这两种服务进行单点登录。在我看来,有两种方法可以做到这一点:

  1. 使用OpenID并在成功验证后,分别将cookie域设置为子域,例如.www.domain.com和.secure.domain.com,以便不会将secure.domain.com cookie发送给攻击者如果是入侵www.domain.com

  2. 仅允许用户从secure.domain.com登录并设置2个cookie,1个用.domain.com进行无缝身份验证到www.domain.com,另一个cookie到.secure.domain.com进行验证用户已通过安全子域进行身份验证。

  3. 我的理解是,当涉及单个域及其子域上的多个webapps时,然后在域名等顶级域名上运行任何应用程序都会带来潜在的安全风险,因为顶层的应用程序始终是发送子域名设置的所有cookie以及子域名将能够设置和接收顶级域名的cookie。

    问题是:我的假设是正确的还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

您可以将cookie设置为secure,它将仅通过SSL连接发送(无论客户端连接到哪个域)。当然,也可能有更复杂的场景。