什么网页java小程序可以在我的电脑上访问?

What a webpage java applet can access on my computer?

那么,在我 运行 Web 浏览器中的小程序之前,我需要对发布者有多少信任?

换句话说,我理解一个java小程序是运行在浏览器的沙盒中,但是this article表明小程序实际上可以访问存储在本地的文件计算机。

您能否阐明 java 小程序 运行 在现代浏览器(例如 Firefox 50)中的安全限制?

I understand that a java applet is run in a sandbox in the browser, but this article suggests that the applet can actually access files stored on the local computer.

一个 Java 小程序可能有 三个 不同的安全级别。

  1. 第一个如您所述'sandboxed'。他们只能从他们自己的服务器访问资源,不能访问您本地文件系统上的任何资源 除非 他们使用 Java Web Start 启动并因此可以访问 JNLP API

    您可能会注意到其中两项服务是 FileOpenService / FileSaveService!如果小程序要使用这些,将提示最终用户通过一个对话框允许该操作,该对话框说明小程序正在尝试做什么,并请求允许继续(显示文件选择器并从那里开始)。这些服务返回一个 'file like' 对象,它比正常的 File API 提供的对象更有限。例如,它不会提供资源的路径,只提供名称和对内容的访问权限。
  2. 可以在启动文件中指定更高级别 - '(J2EE) 应用程序客户端权限'。此级别删除了使用 JNLP API 服务的提示。
  3. 最高级别的访问权限是通过请求并被授予 'all permissions' 获得的。然后 applet 应该具有对 File 对象的完全访问权限,能够与启动它的服务器以外的服务器通信,等等。在这种模式下,他们仍然不允许做的少数事情之一是调用System.exit(n) 有效地 'kill the JRE' - 这是其他桌面应用程序中常见的事情。

但是 JRE 的 bug 搞砸了。 Sun,然后是甲骨文,不断地(而且经常)加强安全性,以至于许多浏览器制造商完全取消了对网页中的小程序(和其他需要插件的嵌入式对象)的支持。

有关详细信息,请参阅 Java Plugin support deprecated and Moving to a Plugin-Free Web

..how much trust do I need to have in a publisher before I run their applet in the web browser?

我无法回答你的问题,但我的看法是,在我 运行 他们在我控制的任何浏览器中的代码。

话虽如此,我不认为我安装了一个甚至 支持 小程序的浏览器,而且我完全没有动力去设置一些东西,这可能是一个好消息查看我是否允许小程序在这台电脑上 运行。