我的主站点(主机站点)有一个IFRAME,注册站点(regsite)托管在另一个域上。
我想在另一个域上托管注册,因为我觉得在主机站点上存储DB登录信息是不安全的,因为很多人都可以访问后端。
所有浏览器都接受来自regsite的登录会话-cookie-8不接受。使IE接受这个cookie的唯一方法是将两个站点都添加到“受信任的站点”,这不是我想要的。
除了本地浏览器设置之外,还有其他方法可以解决跨域问题吗?还是将注册移到主机站点的唯一选项(curl不是选项,因为我在注册站点上显示的不是静态HTML,而是PHP文件)?
发布于 2011-02-01 18:19:50
我认为这可以在不移动任何东西和很少编程的情况下得到解决。只是有一些DNS规则。
例如,您可以创建一个名为register.hostsite(.com)的新子域,该子域指向regsite所在的ip。
然后将IFRAME重定向到新的子域。
它将从同一服务器获得相同的位元,但现在它将位于主机站点的域中。
这应该(至少在理论上)足以满足IE。我不是百分之百确定,我已经很久没有使用IFRAMES了。
如果这不起作用,我也建议在服务器故障上询问。
编辑:我在寻找另一个问题,并发现这个‘微代理’的PHP实现雅虎。这是他们推荐的解决这类问题的方法:
simple.txt
发布于 2011-02-04 21:30:25
iframe和IE的问题在于IE将iframe的内容视为第三方(如广告等)。
要让IE实际存储此域文档设置的cookie,您需要让其他域发出一个P3P-header,说明其意图。这很容易做到,并且只需要添加一个http-头。
我不知道你所说的跨域问题是什么意思,尽管没有--你只是拥有两个不同领域的两个不同的文档。您没有说明您是尝试让一个域设置为另一个域设置cookie,还是一个页面访问另一个域。
https://stackoverflow.com/questions/4866306
复制相似问题