小程序的功能和局限性
当用户访问包含小程序的页面时,Java 小程序会加载到客户端上。Java 小程序背后的安全模型旨在保护用户免受恶意小程序的侵害。
小程序是沙箱小程序或特权小程序。沙箱小程序在安全沙箱中运行,该沙箱仅允许组安全操作。特权小程序可以在安全沙箱之外运行,并具有访问客户端的广泛能力。
未签名的小程序仅限于安全沙箱,并且仅在用户接受小程序时运行。由公认证书颁发机构颁发的证书签名的小程序可以仅在沙箱中运行,也可以请求在沙箱外运行的权限。无论哪种情况,用户都必须接受小程序的安全证书,否则小程序将被阻止运行。
建议您使用 Java 网络启动协议 (JNLP) 启动您的小程序,以利用扩展的功能并改善用户体验。有关小程序部署的分步说明,请参阅 部署小程序。
建议您将小程序部署到 Web 服务器,即使是为了测试。要在本地运行小程序,请将小程序添加到例外站点列表中,该列表由 Java 控制面板的“安全”选项卡管理。
在本主题中,我们将讨论小程序的安全限制和功能。
沙盒小程序仅限于安全沙盒,可以执行以下操作:
它们可以与它们来自的主机和端口建立网络连接。协议必须匹配,如果使用域名加载小程序,则必须使用域名而不是 IP 地址连接回主机。
他们可以使用类的showDocument
方法轻松显示 HTML 文档java.applet.AppletContext
。
它们可以在同页面上调用其他小程序的公共方法。
从本地文件系统(从用户的 目录中CLASSPATH
)加载的小程序没有通过网络加载的小程序所做的任何限制。
他们可以读取安全的系统属性。
使用 JNLP 启动时,沙盒小程序还可以执行以下操作:
他们可以在客户端上打开、读取和保存文件。
他们可以访问共享的系统范围的剪贴板。
他们可以访问打印功能。
他们可以在客户端存储数据,决定应该如何下载和缓存小程序,等等。有关使用JNLP API开发小程序的更多信息,请参阅 JNLP API。
沙盒小程序无法执行以下操作:
他们无法访问客户端资源,例如本地文件系统、可执行文件、系统剪贴板和打印机。
它们无法连接到任何第三方服务器(除其源自的服务器之外的任何服务器)或从其检索资源。
他们无法加载本机库。
他们不能更改 SecurityManager。
他们不能创建类加载器。
他们无法读取某些系统属性。有关禁用的系统属性列表。
特权小程序没有对沙箱小程序施加的安全限制,可以在安全沙箱之外运行。
提示: JavaScript 代码被视为未签名的代码。当从 HTML 页面中的 JavaScript 代码访问特权小程序时,该小程序将在安全沙箱中执行。这意味着特权小程序的行为本质上类似于沙箱小程序。
相关文章
服务热线:0632-5272123,0632-5271123
业务咨询:13969468882,18006320170
营销中心:山东省 枣庄市 市中区 中坚1878 A406室
邮箱:kf@zzint.com