[英]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.