所以我在我的主域中有一个iframed的子域名页面,这个子域名页面要求用户登录并拥有要访问的成员资格。
基本上我需要将会话变量和cookie传递给子域,以便加载iframe。
如何在Nginx中实现这一目标?
答案 0 :(得分:1)
Cookie具有domain
属性,用于指定将从客户端发送到哪些域。例如,在PHP的setcookie
函数中,第5个参数接受在cookie中设置的$domain
字符串。默认情况下,它留空,这意味着当客户端收到请求时,它将使用请求来自的域。
Cookie可用的域。将域设置为“www.example.com”将使www子域和更高子域中的cookie可用。可用于较低域名的Cookie(例如“example.com”)可用于更高的子域名,例如“www.example.com”。仍旧实施已弃用的»RFC 2109的旧浏览器可能需要领先。匹配所有子域。
因此,如果您将cookie设置为主域,则客户端UA将无法将其提供给您的子域。
然而,现在,iframe并不那么棘手。例如,Internet Explorer可以根据不同的隐私策略规则对iframe进行不同的处理,并阻止来自iframe的所有Cookie。有关详细信息,请参阅this question。但是,在所有这些中,Nginx真的不应该扮演被动角色。