【问题标题】:Flex Security Sandbox Violation just started happeningFlex 安全沙盒违规刚刚开始发生
【发布时间】:2013-10-25 17:21:32
【问题描述】:

我在我的网站服务器上构建并运行了一个 http 处理程序。 flex 中的代码生成一个 http 请求,然后导航到处理程序,该处理程序生成并流回文件信息以供用户下载。

基本上是请求发送图片数据,返回结果是pptx流,图片数据在powerpoint幻灯片中。

直到大约一个小时前,今天早上这一切都非常有效。我不知道发生了什么变化,但是我正在构建的每个尝试访问此处理程序的 swf 现在都给了我:

* 违反安全沙盒 *https://g1.localhost/Turm/BounceBack.aspx 的连接停止 - 不允许来自https://g1.localhost/Turm/FlashApps/ImageAndExporting.swf?debug=true

我什至完全限定了 BounceBack.aspx 名称(直到刚才它还是一个相对 url),以防 Flash 播放器混淆,但正如您所见,url 请求和 swf 是从完全相同的域加载的(甚至是网络域中的同一个虚拟应用程序)。

我什至在我的 Flash Player 安全设置中将物理文件路径添加为“受信任的文件夹”。

什么给了?有人有什么建议吗?

使用 Apache 4.9.1 SDK 和最新版本的 flashplayer。 如前所述,这在昨天和今天早上一整天都有效。我不知道发生了什么变化,但我没有运气解决问题,源代码没有改变。

【问题讨论】:

  • 我不得不问一个愚蠢/显而易见的问题:是什么改变了您现在在服务器上运行它而不是在本地运行它之前的事实吗?
  • 不,它都是一个网站,它恰好完全包含在我的本地计算机上,但它是一个 IIS 托管网站 (g1.localhost)。 swf 通过属于网站的 aspx 页面加载,处理程序在网站中注册,等等。
  • 作为更新,刚刚将我的解决方案部署到我们的构建和测试环境中。两者都给出了相同的沙盒违规。

标签: actionscript-3 flash apache-flex


【解决方案1】:

终于弄清楚发生了什么变化。我将导航移动到我的 ASPX 处理程序到一个单独的方法中,该方法将调用延迟到 UI 更新之后。因为我使用相同的 ui 组件进行打印和导出,所以我使用打印功能测试了更新,并且没有错误。后来,我注意到处理程序失败了。由于 url 请求未在 UI 交互事件(如 MouseEvent.CLICK)中处理,因此 Flash 播放器阻止了调用。将导航移回事件处理程序后,沙盒违规就消失了。

如果你问我,由于遇到的实际问题,不是一个很好的错误信息,但是......你每天都学到一些东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多