什么是原生沙箱?

zak*_*kki 7 java applet

我发现在8u51的Java控制面板中添加了"启用操作系统的受限环境(本机沙箱)".但我找不到任何文件.

Ort*_*kni 2

从JDK 8 和 JDK 8 更新版本的官方发行说明中我们知道:

\n\n
\n
    \n
  • 本机沙箱仅适用于 Windows 平台。
  • \n
  • 可以通过 Java 控制面板 -> 高级设置 -> 启用操作系统的受限环境(本机沙箱)或通过deployment.security.use.native.sandbox在文件中将属性设置为 true 来启用或禁用本机沙箱deployment.properties

  • \n
  • 默认情况下禁用本机沙箱。

  • \n
  • 启用本机沙箱后,沙箱小程序或 Web 启动应用程序将在操作系统提供的受限环境中运行。这不会影响所有权限的应用程序,它们将继续像以前一样运行。

  • \n
  • 对于例外站点列表 (ESL) 中包含的应用程序或使用部署规则集 (DRS) 时,将禁用本机沙箱。

  • \n
  • 使用 HTML 小程序标记部署的沙箱小程序(包括来自 Class-Path 清单属性的所有权限 JAR 文件)将在本机沙箱中运行。

  • \n
  • 在这种情况下,当此类小程序尝试访问所有权限的 JAR 文件时,将显示一个特殊的警告对话框,通知用户该小程序可能无法正常工作。

  • \n
  • 当启用本机沙箱时,在某些情况下将禁用自定义预加载器:

    \n\n
      \n
    • 当沙箱小程序或 Web 启动应用程序初始化时,自定义预加载器将被禁用,并且将使用默认预加载器。应用程序初始化后,Java VM 会在启用本机沙箱的情况下重新启动,并且将使用自定义预加载器。
    • \n
    • 对于所有权限的应用程序,如果自定义预加载器位于具有沙箱权限的 JNLP 文件中,则将被禁用,直到用户同意从安全对话框运行应用程序,该对话框授予对应用程序的不受限制的访问(特权)。
    • \n
  • \n
\n
\n\n

目前,没有比这更多的文件了。综上所述,在Java平台中,本机沙箱是Windows特有的功能,它使用操作系统提供的一组API来改进沙箱。

\n\n

Windows 应用商店应用程序应使用同一组 API。有一篇文章介绍了这一点:Windows Store Apps live in the Sandbox。它说:

\n\n
\n

位于沙箱中还意味着应用程序无法直接访问在 app\xe2\x80\x99s 沙箱之外运行的任何其他应用程序或服务。Windows 本身在运行时环境中通过一组定义的 API 来促进对其他应用程序或服务的访问。

\n
\n