【问题标题】:Cross Domain references to parent host preserved保留对父主机的跨域引用
【发布时间】:2012-11-12 11:13:06
【问题描述】:

远程 url 上有一个页面,可以通过使用查询字符串发布的登录名访问该页面。 http://www.example.com/exampleURI?user=user&pass=pass。从这里开始,我们将此 URL 位置称为parent url。

我无权访问该网址(即它不在我的服务器上)。我在我的服务器(不是我上面提到的 parent url 的服务器)上创建了一个登录表单,它向我的 php 文件发出 POST 请求,该文件向上述 url 发出 file_get_contents 请求。如果登录凭据正确,则它会发回页面的整个正文。

在返回给我的那个页面上有很多关于 ajax 的内容。许多进程要求它们托管在parent URL 上。它还引用了仅存在于parent url 中的图像。我希望能够在我的页面上,在我的服务器上容纳该页面的 iframe,但出于刚才提到的原因,将 iframe 引用保留到其parent url。

我需要对 iframe 内的 dom 进行跨窗口操作。大多数浏览器的同源策略禁止我这样做。 有没有办法,例如,将事件侦听器附加到 iframe 中的 dom 元素?

如果有的话,这样的事情是如何完成的?

【问题讨论】:

  • 我是否理解正确,您不想将父 URL 公开给最终用户?
  • 父 url 可以毫无问题地暴露出来。
  • 那为什么不直接加载父 url 作为 iframe 的 src,预填充登录凭据?
  • 你是对的,这就是我正在做的。但我还需要对 iframe 内的 dom 进行跨窗口操作。我没有将其作为错误包含在我的问题中,我将进行编辑。
  • 我很确定这会非常困难——如果不是不可能的话(如果你不能改变父母服务器上的任何东西)。顺便说一句,这是一件好事,因为它会使欺骗变得容易得多。

标签: php url iframe cross-domain


【解决方案1】:

您想尝试跨域的JSONP 请求。不幸的是,响应必须是充分的并且特别为您准备好,因此如果您控制两个域,则此方法有效。现在大多数图书馆都知道如何处理这种请求。

也可以看看Comet。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 2021-02-01
    相关资源
    最近更新 更多