【发布时间】:2011-06-22 20:03:13
【问题描述】:
我正在开发一些 GWT 应用程序,一些第三方需要将其导入到他自己的网站中。
我正在开发的应用程序包含在我的机器上,它说: http://myMachine.com/app/gwtApp.html
应用程序看起来像:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet" href="http://myMachine.com:8888/app/gwtApp.css">
<title>gwtApp</title>
<script language="javascript" src="http://myMachine.com:8888/app/gwtApp/gwtApp.nocache.js"></script>
</head>
<body>
<div id="app" style="width:240px; height:190px;"></div>
</body>
</html>
注意:我编写了一些代理 servlet 只是为了解析我的服务器的 url,因为您知道上面的脚本标记默认如下所示:
<script language="javascript" src="app/gwtApp/gwtApp.nocache.js"></script>,但我的代理将其转换为:
<script language="javascript" src="http://myMachine.com/app/gwtApp/gwtApp.nocache.js"></script>
第三方使用某种导入机制(jstl 导入或其他)只是将上述内容导入他们的网站(在完全不同的域上)
问题是,他们收到以下 JS 错误,但应用程序没有呈现任何内容:
Error: Permission denied for <http://172.16.0.87:8888> to get property Window.document from <http://thrid-party_domain.com>.
Source File: http://myMachine.com/app/gwtApp/37A4800286E685E7555FF8DCA66FC4F9.cache.html
Line: 1
Error: Permission denied for <http://myDomain:8888> to get property Window.gwtApp from <http://thrid-party_domain.com>.
Source File: http://myMachine.com/app/gwtApp/37A4800286E685E7555FF8DCA66FC4F9.cache.html
Line: 1463
【问题讨论】:
标签: javascript gwt xss same-origin-policy cross-site