我有一个环境,不允许服务器的端脚本很(这是极难得到一个脚本"安装"在服务器)。我试图用一个框架,以违反javascript的同源poilcy;然而,这没工作。是否有任何其他解决方法我不知道的吗?

谢谢!

有帮助吗?

解决方案

作为 大卫Dorward 所提到的,启动后P是最简单和最;然而,还有另外一个特技,特别是使用两个内部框架.

两个获得围绕这一问题而不使用他,你可以做到以下几点。这种技术假定你有某种形式的发展访问的父页。

有三个页面上的两个领域/网站。

  1. 父页
  2. 内容页
  3. 截域通信网页(又名"xdcomm")

网页的父母和xdcomm页托在同一领域,内容页上托管的任何其他领域。网页的内容是嵌入作为一个框架,在父页和xdcomm页嵌入作为一个隐藏的框架中的内容页。

enter image description here

该xdcomm页包含一个非常简单的脚本,检测得到查询字符串中的参数,分析这一字符串 methodargs 变量(这里 args 是JSON编码string),然后执行指定的方法与指定的参数在父页。一个例子可以 在这里看到的 (景来源)。

即使JavaScript的相同的原产地政策,限制代码在一个域名访问的另一种,不要紧,如果域内嵌套彼(域一嵌套内域B的嵌套内域一)。

因此,概括地说,内容页发送给父页通过xdcomm页通过改变来源的框架之类的东西 http://domaina.com/xdcomm.html?src=foo&args=[1,2,3,4].这将相当于执行 foo(1,2,3,4) 在父页。

此外,知道已经有库,帮助你与此有,例如 easyxdm.我已经解释过这里是一个基础的技术,他们使用,虽然它也许不是一样的幻想,这肯定是一个充分运作和轻量级的执行情况。

其他提示

希望不是,因为这将是一个安全漏洞! :)

但是,如果这两个网站的子域在同一个域,也许 document.domain的 可以提供帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top