问题标签 [sandbox]

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 投票
3 回答
1635 浏览

actionscript-3 - as3 沙盒安全违规与 http://schemas.xmlsoap.org/soap/encoding/

我实现了一个 gSoap c++​​ webservice-server 以供 Flash (as3) 访问,只要我在本地测试 .swf,.wsdl 加载正常,通信正常,即使服务器运行在外部 ip 上,一切都运行顺利已经。

但是当我把那个 .swf 放到网上的那一刻——它提出了沙盒安全违规行为,对标准大喊大叫——这样的模式:

有人可以帮我解决这个问题吗?

或者是否有一种好方法可以在不加载 .wsdl 文件的情况下定义一个简单的 web 服务方法(如 stringResult = command (stringSessionId, stringCommand, stringParams, stringResult))?如果我有这种可能性,我就不必偶然发现那个沙盒 - 东西。

任何帮助表示赞赏。

0 投票
9 回答
5310 浏览

apache-flex - 为什么 Flash Player 在这种情况下会引发沙盒错误?

连接到 Java (1.5) 服务器上的 Socket 后,我​​收到 Flex 3 沙盒错误 #2048。服务器代码都是我的,即不在 Apache 下运行。Flash 播放器 10.0 r32。

顺序如下...

1 Java 服务器启动,在端口 843 上侦听策略文件请求,在端口 45455 上侦听我的其他请求。

2 由 Apache 提供的 Flex 客户端(尽管如果我从文件系统运行它会得到相同的结果),在主机上建立了套接字连接:45455。

3 Flash Player 从端口 843 请求策略文件。这是新安全设置查找主文件的标准行为。无论是否指定了不同的策略文件,都会发生这种情况。

4 我通过端口 843 从 Java 提供以下 XML:

5 播放器将以下内容写入调试策略日志...

writeUTFBytes()6 我使用和flush()(这是我自己的自制消息协议,并且在每一端都正确处理)在端口 45455 上将文本消息从客户端发送到服务器

7 侦听端口 45455 的 Java 服务器线程响应

8 Flex 客户端收到一个 ProgressEvent 并且我绑定到套接字的事件侦听器被调用。我处理消息(将其写入屏幕上的文本框)

9 Flash播放器抛出2048沙盒错误,socket断开!这是成功接收和处理消息之后。事实上,大约是 12 秒后。没有其他东西通过套接字起作用。

我已经尝试Security.loadPolicyFile()在 Flex 客户端中通过调用显式加载策略文件,但新播放器安全性的现实是它基本上被忽略了。这些步骤是在发生套接字 i/o 操作之前不会发送策略请求。此时播放器总是首先去端口 843 寻找主策略文件。如果它找到了一个,并且它是允许的,它就不会再进一步​​了。

我尝试了多种终止策略文件和策略文件内容的替代方法,包括故意错误以查看 Flash Player 是否处于唤醒状态。

我看不出为什么我会抛出 2048。我在指定的主安全端口上准确地提供了一个套接字策略文件,播放器本身将其记录为正确的。然后套接字成功地从服务器发送和接收一条消息,其内容可用于我的代码。

有谁知道为什么会发生这种情况?Flash 播放器错误?

PS 不要告诉我使用 BlazeDS 或 LCDS 或 Granite 或其他东西作为服务器,我正在寻找解决此问题的方法,而不是重新设计。请不要让我改用 XMLSocket - 我试过了,得到了完全相同的结果。我已经仔细而慎重地选择了我的架构,并且我想要一个二进制套接字。

编辑 响应詹姆斯沃德在评论中的要求,这是整个错误消息:

我有一个精简的测试客户端,它对每个套接字事件都有一个处理程序,并向屏幕输出一条消息。这就是它所显示的:

成功接收到服务器的响应后立即触发关闭事件,但是直到大约 20 秒后才会出现错误 #2048。如果我尝试在关闭之后但在错误之前发送更多消息,则 Flash Player 会引发无效的套接字异常。

在 Adob​​e 上记录了一个关于此的错误。

如果有人感兴趣,我可以提供客户端和服务器的完整源代码。

0 投票
7 回答
33581 浏览

java - 如何创建 Java 沙箱?

我想让我的应用程序运行其他人的代码,也就是插件。但是,我必须采取哪些措施来确保其安全,以免他们编写恶意代码。我如何控制他们能做什么或不能做什么?

我偶然发现 JVM 具有“内置沙盒”功能 - 它是什么,这是唯一的方法吗?是否有用于制作沙盒的第三方 Java 库?

我有什么选择?感谢您提供指南和示例的链接!

0 投票
2 回答
1088 浏览

python - 可以对 Python 配置文件进行沙箱处理吗?

我正在考虑实现一个用 Python 语法编写的配置文件,这与 Django 所做的不同。

虽然我已经看到两个关于在配置文件中使用可执行代码的优点的 SO 问题,但我很好奇是否有办法在“沙箱”中执行配置文件代码以防止代码中的错误锁定主机应用程序。

因为主机应用程序是程序员的工具,所以我不关心教授 Python 语法或引入至少一个其他 SO question中提到的安全漏洞。但我担心配置代码分支到 Fishkill并嵌入主机应用程序。我更希望主机应用程序捕获这些问题并显示诊断错误信息。

有没有人为 Python 配置文件尝试过这种沙盒?如果是这样,哪些技术被证明是有用的,以及出现了哪些我应该注意的陷阱?

0 投票
3 回答
1199 浏览

iphone - 关于使用沙盒与缓存进行 UITableView 异步图像下载的建议

一周前,Apple 刚刚在 UITableView 中发布了一些关于延迟加载图像的示例代码。我检查了它并将其实现到我自己的 UITableView (这是一个用于快速滚动的 drawRect ),看看是否与我已经在做的不同。

实施后我不确定什么是最好的;新代码或我已经拥有的代码。我没有看到我的 3GS 的速度有很大提高。

“沙盒”方法:懒加载图片,然后保存到沙盒中的本地tmp文件夹。每次显示单元格时,它都会查找具有该文件名的图像是否已位于沙箱文件夹中。如果是,它会检索图像并显示它,如果不是,它会继续下载,将其保存在本地,然后显示它。这样做的好处是第二次打开应用程序时图像不会是空白的。它们已经被下载并准备好显示。

缓存方法:这也会延迟加载图像,但是,现在我在 tableview 中显示的数组中的每个对象上都包含一个 UIImage。我现在不是在本地保存图像,而是下载图像并将其放入对象的数组中。现在,它不是每次都检查文件名,而是检查 UIImage 是否!= nil 并使用缓存的图像(如果为 nil,则下载)。

一个小的区别还在于,缓存代码在将图像缓存到单元格中显示的确切大小之前会调整其大小,而沙盒代码示例中使用的图像实际上比它需要显示的要大一些,这意味着它也必须在滚动时动态调整大小。几个月前我读到这可能有点贵,而且我也不确定它是否会在使用缓存图像而不是沙盒存储图像方面产生很大差异,因此无论如何都会占用更多 CPU(相比之下到您使用上面的缓存代码从缓存中保存的内容)。

我想我的问题是我是否应该打扰缓存代码?同样,新代码不会在新启动时立即加载图像,而旧代码实际上会这样做,因为它已经在沙箱中。由于我没有重用图像,我有很多图像要加载(从沙箱或缓存中),所以我没有注意到速度上有很大的差异。事实上,在我看来,在我的 3GS 上几乎无法分辨。滚动不是如丝般顺滑,我认为这是由于我无法重复使用大量图像(每个单元格的图像不同)。我还想知道,例如,一旦文件夹中有 1000 多张图像,沙盒方法是否会变慢,例如,最终让它查看更多的图像,而不仅仅是 100 幅左右。

我希望我说得通。我想对细节非常透彻,如果需要,我很乐意提供更多细节。

谢谢!

0 投票
1 回答
1065 浏览

.net - 通过自动创建和限制用户帐户在 Windows 2008 上构建简单的安全沙箱?

我想为应用程序托管服务构建一个相当简单的安全沙箱 - 因此主要目标是:

  1. 在沙盒“中”运行的应用程序无法在系统上安装可执行文件运行所在目录之外的任何内容。
  2. 通常拒绝访问系统(注册表访问等)。
  3. 明确拒绝访问指定目录之外的文件系统(甚至是只读的)。它将是一个在沙箱内运行的 .NET 应用程序,所以我不确定这是否会顺便否认运行时和核心依赖项?

我目前的计划是使用 System.DirectoryServices 命名空间在 .NET 中构建沙箱,方法是:

  • 为每个启动的实例创建一个新的半永久用户帐户
  • 从访客类用户派生它以拒绝对系统的广泛访问
  • 然后专门授予对有限数量的应用程序应该运行的目录的读写访问权限。

有人能看出这个计划有什么特别的缺陷吗?用户帐户的安全性是否足以安全地满足上述要求?我们现在正在使用一个商业软件来处理这个问题(它的沙盒更全面);但它对我们的业务来说不够自动化 - 因此希望将其构建到我们的核心自动化软件中。

0 投票
3 回答
2771 浏览

java - Java ScriptEngine 的安全问题

我刚开始使用 Java ScriptEngine 对我的应用程序做一些小扩展,然后我注意到我可以导入脚本中的所有 Java 类并不受限制地使用它们。有没有办法指定脚本可以使用哪些类?我不希望他们做类似的事情java.lang.System.exit(1);

0 投票
1 回答
1105 浏览

c# - 使用托管可扩展性框架的沙盒插件

我正在开发一个第三方开发人员可以编写插件的应用程序。我一直在研究 Managed Extensibility Framework,这似乎是正确的方法。

不过有一件事,我想阻止插件自由访问应用程序的其余部分(调用单例等),但希望限制通过某个接口进行通信,理想情况下,每个插件都必须“请求”不同事物的权限,例如访问其他插件和用户数据,有什么好方法可以做到这一点吗?

否则我唯一能想到的就是将安全字符串传递给每个方法并混淆代码,但这似乎是一个丑陋的解决方案:P

0 投票
1 回答
2695 浏览

iphone - iPhone APNS 沙盒与尚未批准的应用程序的生产

在应用程序被批准进入应用程序商店之前,生产 APNS 是否不可用?我可以很好地使用沙盒证书,但生产没有结果。

0 投票
2 回答
820 浏览

xml - 在我的网站上使用 swf 加载 XML 文件时出现问题?

我在我的网站上创建了一个 swf。swf 加载 xml 数据。当我在本地测试它时它工作正常。但是当我将它上传到服务器时,我得到一个 IOErrorEvent()。为什么会出现这种情况?

这是 XML 文件的代码:

这是加载我的 xml 数据的代码:

如何找出导致此错误的原因?快把我逼疯了......从早上 9 点到早上 5 点起床,试图为网站创建这个标题,现在我遇到了 XML 加载错误......

编辑:更正评论标签修复了我的 xml 加载问题。然后我遇到了 xml 文件中没有显示在屏幕上的图像。当我访问 www.mysite/media/myFlash.swf 时,图像加载完美;但是,当我访问“myflash.swf”所在的 www.mysite.com 时,图像又抛出了另一个错误。我通过更改 xml 中的文件路径来纠正此问题...而不是 acquainted.jpg 我将其更改为 media/specials/acquainted.jpg。

感谢你们重定向我并帮助解决这些问题!