【问题标题】:Click a button and navigate inside an iframe of different browser单击一个按钮并在不同浏览器的 iframe 中导航
【发布时间】:2013-08-08 10:19:04
【问题描述】:

我正在研究是否可以访问跨域 iframe 元素并执行诸如单击按钮或在 iframe 中填写表单之类的操作。

我遇到了一些事情,如果可能的话,我想获得任何有经验的观点:

1) 使用 window.postmessage 2)使用easyXDM 3) 任何其他可用的方法。

【问题讨论】:

  • 跨域 iframe 交互不应该起作用,作为对用户的客户端保护:示例:“恶意软件”页面可能会创建 iframe 并加载重要页面,之后它可能会尝试获取他的内容/密码。

标签: javascript iframe same-origin-policy easyxdm


【解决方案1】:

维基百科:同源策略:对于许多浏览器端编程语言(例如 JavaScript)来说,这是一个重要的安全概念。该策略允许在源自同一站点的页面上运行的脚本(方案、主机名和端口号的组合)不受特定限制地访问彼此的方法和属性,但禁止跨不同站点的页面访问大多数方法和属性。

维基百科:跨域资源共享 (CORS) 是一种机制,它允许网页上的 Javascript 向另一个域发出 XMLHttpRequest,而不是 Javascript 源自的域。

要允许 cors 请求,共享内容服务器必须通过标头组合来允许它:

Client (www.example.com)    : ORIGIN: www.example.com
Server (not www.example.com): Access-Control-Allow-Origin: www.example.com

例如,您可以通过 ajax 加载其他页面的内容并将其插入到您页面的 iframe 中,这样您就可以不受限制地对其进行操作。

此限制是一种客户端保护,这意味着您可以创建自己的浏览器但不实现它。

【讨论】:

  • 在你点 You may for example, load the content of the other page by ajax and insert it into an iframe of your page, that allow you to manipulate it without restrictions. 这不会存储会话值,就好像用户登录了它可能不在 iframe 中的 url??
  • 是的,它允许您不受限制地操纵它,但“其他页面”必须同意由您的页面操纵。所以你不能用它来破解银行网页。
  • @AdrianMaire 使用 easyXDM 的人太少了。请看stackoverflow.com/questions/27203172/…好吗?
猜你喜欢
  • 2012-11-27
  • 2012-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多