繁体   English   中英

IE:如何处理跨域Cookie?

[英]IE: How to handle cross-domain cookies?

我的主站点( hostsite )具有一个IFRAME ,而注册站点( regsite )托管在其他域中。

我想在另一个域上托管注册,因为我认为将数据库登录信息存储在主机站点上并不安全,因为许多人都可以访问后端。

所有浏览器都接受来自regsite的登录会话cookie-Internet Explorer 8不接受。 使IE接受此Cookie的唯一方法是将两个站点都添加到“受信任的站点”中,这不是我想要的。

除了本地浏览器设置以外,还有什么方法可以解决跨域问题,还是将注册移至主机站点的唯一选择( curl不是一个选项,因为它不是静态HTML,而是显示在注册站点上,但是PHP文件)?

我认为可以解决此问题而无需进行任何操作,也不需要编写任何程序。 仅带有一些DNS规则。

例如,您可以创建一个名为register.hostsite(.com)的新子域,该子域指向regsite所在的ip。

然后将IFRAME到该新的子域。

它将从同一台服务器获得相同的位,但是现在它将位于主机站点的域内。

这(至少在理论上)应该足以满足IE的要求。 不过,我不确定100%,我已经很长时间没有使用IFRAMES了。

如果那行不通,我建议也询问serverfault

编辑:我一直在寻找另一个问题,并通过yahoo找到了这个“微型代理” PHP实现。 这是解决此类问题的推荐方法:

http://developer.yahoo.com/javascript/samples/proxy/php_proxy_simple.txt

iframe和IE的问题在于IE将iframe的内容视为第三方(例如广告等)。

要让IE实际上存储由该域文档设置的cookie,您需要让另一个域发出一个P3P头,以说明其意图。 这很容易做到,只需要添加一个http-header。

我不确定跨域问题是什么意思,尽管没有-您只是拥有来自两个不同域的两个不同文档。 您尚未说明是要一个域为另一个域设置cookie,还是要一个页面访问另一个域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM