问题标签 [cross-domain-policy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
360 浏览

javascript - 不同端口上的 JS 和 API 服务器之间的交互

我有一个在端口上运行的 API 服务器和在开发机器AAAA上的端口上运行的 JS 前端应用程序(emberjs,使用 yeoman) 。BBBB在实时服务器上,这些端口将是相同的。不幸的是,在开发机器上我遇到了跨域策略问题。

我能做些什么呢?

PS:目前我通过使用启动 Chrome 解决了这个问题

http://localhost:8888/并在 JS api 中使用绝对根路径。但我并不是硬编码的 url 和特殊标志的粉丝。如果有更好的解决方案,请告诉我!

0 投票
2 回答
4896 浏览

flash - Flash 策略文件不起作用(相同的域,不同的端口)

我不知所措。我不明白为什么 Flash 没有正确加载我的策略文件。我正在通过 Flash 调试器对此进行测试。

错误:

然而这有效:

指定 crossdomain.xml 的绝对路径也不起作用。我可以在我的浏览器中加载这个文件。

甚至这都行不通(来自非常流行的博客文章的解决方案):

import flash.system.Security; Security.allowDomain("http://127.0.0.1");

这是调试器策略文件日志:

这里有趣的部分是OK: Policy file accepted消息出现在错误之后,即使我正在调用:

之前URLRequest。所以我把它移到了URLRequest一个 setTimeout 中,现在日志说:

因此,它似乎已经很好地加载了 843 策略文件,但随后尝试加载端口 3014 策略文件(可能正在检查子策略文件?)。这只是一个 socket.io HTML 页面,上面写着“欢迎来到 socket.io”。由于这个原因,它似乎不应该失败..

我在调试器警报中得到了这个:

任何想法都非常感谢。谢谢!

0 投票
1 回答
173 浏览

javascript - .getJSON 有效,.get 无效

我有一个函数,它使用 .getJSON 从服务器获取 JSON 文件,从中获取一些数据(url 是数据的一部分),然后调用另一个需要从解析的 url 中获取信息的函数(普通 Jane HTML 页面)。

.

JSON 部分运行良好。HTML 部分没有做任何事情。根据 Firebug 的说法,页面似乎正确返回(200),但我没有得到任何数据。

JSON 文件和其他纯 HTML 页面位于同一台服务器上,只是不同的目录,所以我认为这不是与域相关的问题。我最初尝试使用获取数据;

但出于某种原因,Firefox 和 Chrome 都对 req.send() 大喊大叫。我的研究使我认为这是一个(跨)域相关问题 - 浏览器认为该页面正在请求其域之外的数据(所有各方都在以“company.com”结尾的同一域上)。

为什么我的 $.get 不起作用和/或如何摆脱 XMLHttpRequest.send() 错误?

0 投票
3 回答
6662 浏览

javascript - document.domain 更改后,无法在 IE 中访问 about:blank iframe

有谁知道about:blank在 IE 页面上创建 iframe的任何变通方法document.domain

document.domain更改属性后,IE 似乎不允许访问空/动态 iframe 。

例如,假设您正在动态创建一个 iframe,然后将一些 html 注入其中:

这是关于 jsfiddle 的一个活生生的例子:http: //jsfiddle.net/XHkUT/

您会注意到它在 FF/Webkit 中运行良好,但在 IE 中却不行。这尤其令人沮丧,因为这会影响在属性更改document.domain创建的 iframe (如上面的示例所示)。

IE 规则似乎是“如果您在更改后创建动态/空 iframe document.domain,则无法访问其 DOM。”

将 iframe 设置srcabout:blank javascript:void(0)javascript:""未成功。

0 投票
1 回答
220 浏览

php - jQuery 中的跨域 URL

我做了一个非常简单的 index.php 代码如下

在这段 HTML 代码中,我们从用户那里得到一个号码并调用 httpgGet.js 文件。httpGet.js 是:

我们将用户编号发送到 isprime.php 文件,它会检查用户编号是否为质数。当我说 $.post('php/isprime.php',.....) 它工作得很好,但是当我想从另一台计算机调用 isprime.php 时,它就不起作用了。

我的意思是 $.post('192.168.1.1/test/isprime.php'....) 给了我一个未找到的错误。

该文件存在,我可以使用来自浏览器的直接调用来运行代码。当我在浏览器中输入 192.168.1.1/test/isprime.php 时,该文件是可访问的,但是从 js 文件中,它失败了。显然,我也可以 ping 192.168.1.1。即使使用 FireBug,我也检查了代码并且没有彻底。

我进行了很多搜索,发现浏览器不允许跨域调用(我猜是出于安全目的),但我找不到解决这个问题的解决方案。YQL 有一些东西(这是一种查询语言,我不知道我是否可以使用它)。我也看到了一些关于 cULR 的东西,但我不确定它是否也有效。

请帮忙。我真的需要它。非常感谢。

0 投票
0 回答
143 浏览

javascript - 带有社交插件和 API 调用的 HTML5 页面的内容安全策略

建议对具有以下内容的 HTML5 页面使用什么内容安全策略:

1) Facebook 插件

2) 推特插件

3) 谷歌加一

4) 谷歌翻译

6) 来自 cdn.mywebsite.com

7) 优酷

我收到很多错误,如下所示:

我正在使用 YouTube 视频 iframe 和许多社交小部件,包括 Pinterest API 等。需要你的帮助。

0 投票
1 回答
1451 浏览

javascript - 跨域访问时如何抑制“不安全的 JavaScript 尝试使用 URL 访问框架”

有没有人知道一个很好的解决方案来抑制 Chrome 开发工具控制台中显示的警告消息“不安全的 JavaScript 尝试使用 URL 访问框架”,当尝试访问来自不同域的框架时会发生这种情况?

现在,我有一个检查窗口是否可访问的功能。每次在来自不同域的窗口对象上执行此函数时,Chrome 开发工具控制台中都会显示一条警告消息。这种情况经常发生,控制台被所有这些警告污染,很难发现真正的 JS 错误。

我在想也许有办法在控制台中抑制这些警告?或者更好的是,有没有更好的方法来编写代码来检查窗口是否可访问?

这就是我所做的:

0 投票
1 回答
4241 浏览

actionscript-3 - 从本地环境中的闪存套接字连接到 TCP 服务器

我制作了一个用于分发版本的 swf 文件,供客户在他们的计算机上使用。
我有一个从该 swf 文件连接的 TCP 服务器。
在测试之前,我在adobe网站上阅读了一些与策略文件相关的文章

我尝试对此进行测试,并为此使用了 nodejs 和 swf 文件

但我失败了。这是它的样子。

根上的 crossdomain.xml

tcp_server.js

本地的 swf 文件

无论如何,这似乎是一个长代码

我测试了它,并得到了这个错误

对于错误代码,xmlsocket://localhost:843 的策略文件将被忽略

我找不到我的代码有什么问题,
如果您知道,请告诉我
感谢阅读此问题的人

祝你今天过得愉快。

0 投票
1 回答
202 浏览

iframe - 跨域 iFrame 会导致不同浏览器中的安全错误吗?

我们需要在我们自己的网站(即 www.OurCompany.com)中的 iFrame 中托管另一个工具。该工具位于不同的 URL(即 www.TheToolSite.com)上。

我们不需要与 iframe 的内容进行交互。但是我们确实需要能够调整 iframe 的大小以适应内容。

在这种情况下浏览器会给出安全警告或错误吗?

0 投票
1 回答
1298 浏览

asp.net - 使用 easyXdm 的跨域 AJAX 发布

我正在尝试使用 easyXdm 库让跨域 AJAX 帖子工作。

在我的本地开发环境中,我有两个站点:

TestPage.html(AJAX 帖子)

当我发布 AJAX 帖子时,我在浏览器的控制台中得到以下信息:

问题: Web 服务从未真正接收到数据。这很明显,因为我的 AJAX 发布成功函数应该显示一个thanksDiv并且应该在 *database 中创建一个记录。

注意:我正在替换我现有的 AJAX 邮政编码,因为我需要使用 easyXdm 来解决客户端站点上 Internet Explorer 6 和 7 的问题。

附加信息: 我的 easyXdm 文件所在的文件结构如下: