问题标签 [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.
javascript - Django Admin 弹出窗口损坏
我正在开发一个 Django 项目,作为良好实践的一部分,我的静态内容和媒体是从无 cookie 域提供的。当然,为了做到这一点并仍然使用 Google Analytics 等工具,我提供来自 www.domain.tld 的所有文档,而媒体来自 media.domain.tld,静态来自 static.domain.tld。
这最初会导致 TinyMCE(我选择的所见即所得编辑器)出现问题,但这很容易通过编辑tiny_mce.js
并tiny_mce_popup.js
包含以下行来解决:
在顶部。这基本上将document.domain
我的主编辑窗口和 TinyMCE 弹出窗口设置为 domain.tld,无论它们来自多深的子域。效果很好(并且是便携式的)。(我不关心 Array.splice() 可能在客户端浏览器中不可用,因为 TinyMCE 仅用于管理,我们控制浏览器)。
无论如何,我离题了。
一切都很好,直到我尝试使用 Django Admin 弹出窗口来创建一个新的 M2M 项目。弹出窗口显示正常,但无法正确完成工作,因为弹出窗口的文档域设置为,在本例中为 www.domain.tld,而主编辑窗口中的 document.domain 为domain.tld
(根据上述)。
很简单,我想,我只需将相同的 JS 片段添加到管理员的 base.html 文件的正文中即可。不去。弹出的 document.domain 确实在 JS 控制台中domain.tld
根据我包含的代码段进行测试时被设置,但是一旦我尝试保存新对象,它就会被重置回www.domain'tld
(也经过测试,在 JS 控制台中提交后) ,当然,窗口间通信失败:
在弹出窗口中,并且:
检查document.domain
两个窗口揭示了这个事实:
主窗口:domain.tld
弹出窗口:(www.domain.tld
请记住,提交时已更改)
那么,向所有大师提出问题,在将结果发布回主窗口之前,是否有一些 Django JS 代码正在重置弹出框的 document.domain?或者,重置是使用主窗口的窗口对象进行通信的副作用吗?如果是先前的,你能指出我在哪里吗?我似乎无法找到它可能在哪个文件中。如果是后者,拥有 cookieless 域 + TinyMCE + Django Admin 弹出窗口的解决方案是什么?
非常感谢您考虑这个问题!
cross-domain-policy - 随着 CORS 安全模型的实施,跨域扩展“权限”特权会被淘汰还是废止?
我参考了下面的链接,但提供的答案不是决定性的。如果实际上从网站提供商的角度来看,CORS 的目的是限制对其网页数据的编程访问,那么他们将不愿意授予服务器端权限。在这种情况下,我看不到本地扩展如何覆盖来自服务器的权限。
php - Zend Framework 2 - 来自其他服务器的 AJAX 请求
我有 2 个域(域 A,域 B)。
在域 A 上放置了 ZF2 应用程序,一切正常。
在域 B 上放置着陆页(带有收集数据的表格的小站点)。
从登陆页面我想将表单数据发送到域 A 上的应用程序(AJAX 请求)。
不幸的是,域 A 上的 ZF2 应用程序没有收到数据,也没有显示结果。当我从 ZF2 应用程序所在的同一域发出 AJAX 请求时,一切正常。
我尝试使用 JSONP 但没有成功。
我没有任何其他线索如何强制它工作。
cross-domain - 如何保护敏感信息免受跨站点访问?
我的 Web 应用程序向登录用户显示一些敏感信息。用户访问另一个站点而没有先明确退出我的站点。如果不接受我或用户的同意,我如何确保其他站点无法访问敏感信息?
例如,如果我的敏感数据采用 JavaScript 格式,则其他站点可以将其包含在脚本标记中并读取副作用。我可以继续建立一个黑名单,但我不想列举什么是不安全的。我想知道什么是安全的,但我找不到任何文档。
更新:在我的示例中,来自受害者站点的 JavaScript是在攻击者的站点上执行的,而不是相反,这将是跨站点脚本。
另一个例子是图像,任何其他网站都可以读取宽度和高度,但我不认为他们可以读取内容,但他们可以显示它。
第三个例子是,没有 X-Frame-Options 标头的所有内容都可以加载到 iframe 中,并且可以通过诱骗用户进行拖放或复制和粘贴来窃取数据。
java - 如何从 Eclipse 插件提供 Flash 策略文件?
我有一个 Eclipse 插件,它需要为在本地机器上运行的 flash 应用程序打开一对套接字。Flash 需要一个策略文件(XML 块)来授予访问相关端口的权限。Flash 更喜欢通过端口 843 获取此策略文件,Java 将端口 < 1024 视为特权端口,Mac OS X 和 Linux 同样限制对端口 < 1024 的访问。我不想以 root 权限运行我的 Eclipse 插件,所以提供端口 843 上的策略文件不是一个选项。根据 Adobe 文档,如果 Flash 无法在端口 843 上获取策略文件,它会回退到在它尝试连接的端口上请求策略文件。ActionScript 代码如下所示:
在 Eclipse 插件方面,我继承了一些大部分时间在 OS X 上工作的代码,但有时在 Windows 上会失败。在 Wi-Fi 而不是有线以太网上运行也往往会失败,尽管我不知道为什么这很重要。
这段代码看起来不对。它不等待来自 Flash 的消息,而只是将策略响应塞入端口。正如我所说,它大部分时间都有效,但有时会失败,并且似乎不符合 Adobe 的文档。
我尝试在每个端口上侦听请求数据包并发送特定于端口的响应。我在环回接口 (Mac OS X) 上使用 WireShark 观察了套接字流量。我看到了进来的策略请求和发送的响应,但是 Flash 仍然在两个端口上给了我安全沙箱违规。
我还尝试在上面显示的 initSockets 开头添加这一行:
然后我在我的插件中添加了代码来监听端口 5002 并发送以下主策略文件内容:
我再次看到请求进来,响应出去了,但 Flash 似乎没有响应它。我没有收到 Security Sandbox Violation 错误,但端口上也没有流量。
谁能告诉我在 Java 和 Flash 之间打开套接字的正确方法?
javascript - 检测 iframe 何时从跨域站点返回
我的页面上有一个 iframe,用于向第三方页面提交表单。一旦第三方完成计算,它就会重定向回我自己的站点。我想检测 iframe 何时返回我自己的网站。
我目前的方法是使用超时并location.host
每 0.5 秒检查一次 iframe。但是,虽然 iframe 仍在第三方网站上,但我收到了一个 JS 错误,我想避免这种情况。
有没有一种好方法可以确定 iframe 的位置何时回到我自己的服务器上而不会出现 JS 错误?
flash - Flex 使用 assql 连接数据库,Flex - 安全沙箱违规
我编写了一个连接到本地数据库的小型 flex 项目
代码如下:
该项目在 flex builder 中运行良好,然后我将其部署在我的 wamp 服务器中,但出现了问题。
当我使用 localhost/myproject/login.html 之类的 url 时,我可以访问数据库,但是如果我将 localhost 更改为 127.0.0.1 或 ip 192.168.2.225,它无法连接到数据库,并且错误是违反安全沙箱。
错误 #2044:未处理的 ioError:文本=错误 #2048:违反安全沙箱。:http: //192.168.2.225/bin-debug/QuestionCollector.swf无法从 192.168.2.225:3306 加载数据
我已将 crossdomain.xml 放在服务器的根目录中(C:\wamp\www 或 C:\apache-tomcat-6.0.35\webapps\ROOT),crossdomain.xml 文件为:
它不起作用....所以有什么问题吗?谁能帮帮我~
javascript - Dart 应用和跨域策略
在 Dart VM 中运行 dart 应用程序时,是否可以在 Chromium 中禁用跨域安全检查?
问题是它在自己的端口上运行,因此我的应用程序无法向运行在另一个端口上的后端发送异步请求。
是的,我知道我可以将 dart 文件复制到我的后端,它会运行得很好,但是我无法调试它。
asp.net - Silverlight 客户端的 asp.net web api 安全错误
我正在尝试从 Silverlight 客户端访问 ASP.NET WEB API 服务,并且收到从 Web 客户端返回的“安全错误”错误。该服务在 Fiddler 或浏览器中运行良好。
我在 Silverlight 主机站点上的 clientacesspolicy.xml 如下所示:
我认为这应该允许我访问任何网站。
ASP.NET WEB API 是从 IIS Express 中的调试器运行的 VS 2012。它永远不会受到 Silverlight 客户端的影响。
更新: Duh,如果您将 clientaccesspolicy.xml 放在正在访问的服务的根文件夹中,它会有所帮助。我将它放在 Silverlight 应用程序的根目录中,它只会对托管在那里的服务有所帮助......
actionscript-3 - 策略请求是否需要延迟?
我和我的朋友一直在用 as3 开发多人游戏。没有策略请求的测试在本地成功,但最后我们添加了它,以便我们可以在浏览器上测试。
发生了奇怪的事情,因为它设法连接到服务器,但需要向连接按钮发送垃圾邮件才能开始发送数据。
有了计时器,问题就解决了,但我们不想等待 5 秒才能连接。我不知道出了什么问题,在互联网上几乎没有关于这件事的信息。有人尝试过这个问题吗?