【问题标题】:Access to third party content - iFrame, signed applet, anything?访问第三方内容 - iFrame、签名的小程序,什么?
【发布时间】:2012-10-01 17:44:57
【问题描述】:

我想构建一个应用程序(一个演示,没有恶意),它将执行以下操作:

  • 用户收到一个 URL:http://experiment.com/?url=destination.com
  • 用户在浏览器(任何浏览器)中打开 URL
  • 浏览器进入链接,应用程序加载destination.com 使用用户的浏览器设置、cookies等
  • 应用程序保存(无论如何:用户端、服务器端)呈现给用户的destination.com 的内容

在一个完美的示例案例中,我想加载 iFrame 并稍后访问框架的内容。虽然,我知道它违反了same origin policy。应用程序可以是服务器端或客户端(如具有完全权限的签名小程序或 JS),但它应该是跨浏览器和跨平台的。

我想过一个浏览器扩展,但它不是跨浏览器。另一种选择是让 Java 小程序请求 destination.com URL,但小程序将无法访问 destination.com cookie...请注意,我不一定需要访问第 3 方 cookie,我只需要使用 cookie 加载内容。

这里有什么好主意吗?

编辑

  • 假设您拥有用户的完全权限(“合法”权限和授予应用程序的权限)

【问题讨论】:

  • JavaScript 不在服务器端,而是在客户端
  • 是的,是的。匆忙中的错误,谢谢。

标签: cross-browser browser


【解决方案1】:

简单的回答:这是不可能的:Cookie 位于客户端,每个站点只能访问自己的 Cookie。

这意味着:您列表中的前 3 点是可行的。

最后一点只能通过监控客户端机器上的网络流量来完成,首先这不是那么容易,其次:显然是非法的,未经用户许可。

当然,您可以尝试在客户端计算机上运行一个程序,该程序读取浏览器 cookie 目录并监视数据,但这又是非法的。

请问你需要这个做什么?

问候

【讨论】:

  • 研究目的,无恶不作 :) 我想过使用我正在使用监视流量的代理,但这需要在浏览器中设置代理
【解决方案2】:

如果只需要destination.com呈现给用户的内容,可以使用DOM

读取呈现给用户的 html。

window.frames[1]

如果页面上只有 1 个 iFrame,此代码应该会为您提供对 iFrame 的引用。

【讨论】:

  • 那么同源策略呢?使用JS从其他域访问内容时,我不会得到null吗?
  • 我建议你试试看。研究中最重要的部分是实验 ;) 确保将结果发回。
猜你喜欢
  • 2011-05-01
  • 2023-01-27
  • 1970-01-01
  • 2012-08-13
  • 2016-05-03
  • 1970-01-01
  • 2011-01-19
  • 2011-12-15
  • 1970-01-01
相关资源
最近更新 更多