得到周围相同的原产地政策javascript没有服务器的端脚本
-
20-09-2019 - |
题
我有一个环境,不允许服务器的端脚本很(这是极难得到一个脚本"安装"在服务器)。我试图用一个框架,以违反javascript的同源poilcy;然而,这没工作。是否有任何其他解决方法我不知道的吗?
谢谢!
解决方案
作为 大卫Dorward 所提到的,启动后P是最简单和最;然而,还有另外一个特技,特别是使用两个内部框架.
两个获得围绕这一问题而不使用他,你可以做到以下几点。这种技术假定你有某种形式的发展访问的父页。
有三个页面上的两个领域/网站。
- 父页
- 内容页
- 截域通信网页(又名"xdcomm")
网页的父母和xdcomm页托在同一领域,内容页上托管的任何其他领域。网页的内容是嵌入作为一个框架,在父页和xdcomm页嵌入作为一个隐藏的框架中的内容页。
该xdcomm页包含一个非常简单的脚本,检测得到查询字符串中的参数,分析这一字符串 method
和 args
变量(这里 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的 可以提供帮助。