Servlets 可以做什么和不能做什么

当用户访问包含 Servlets 的页面时,JavaServlets 会加载到 Client 端上。 JavaServlets 背后的安全模型的设计目标是保护用户免受恶意 Servlets 的侵害。

Servlets 可以是沙箱 Servlets,也可以是特权 Servlets。沙箱 Servlets 在仅允许一组安全操作的安全沙箱中运行。特权 Servlets 可以在安全沙箱外部运行,并且具有访问 Client 端的广泛功能。

未签名的 Servlets 仅限于安全沙箱,并且仅在用户接受 Servlets 时运行。由来自公认的证书颁发机构的证书签名的 Servlets 可以仅在沙箱中运行,也可以请求在沙箱外部运行的权限。在这两种情况下,用户都必须接受 Servlets 的安全证书,否则,Servlets 将无法运行。

建议您使用 Java 网络启动协议(JNLP)启动 Servlets,以利用扩展的功能并改善用户体验。有关 applet 部署的逐步说明,请参见部署 Servlets

建议您将 Servlets 部署到 Web 服务器,甚至进行测试。要在本地运行 Servlets,请将 Servlets 添加到 exception 站点列表,该列表可从 Java 控制面板的“安全性”选项卡进行 管理。

在本主题中,我们将讨论 Servlets 的安全限制和功能。

Sandbox Applets

沙箱 Servlets 仅限于安全沙箱,并且可以执行以下操作:

沙盒 Servlets不能执行以下操作:

Privileged applets

特权 Servlets 没有对沙箱 Servlets 施加的安全限制,并且可以在安全沙箱外部运行。

Note:

JavaScript 代码被视为未签名的代码。当从 HTML 页面中的 JavaScript 代码访问特权 Servlets 时,该 Servlets 将在安全沙箱内*内执行。这意味着特权 Servlets 的行为本质上类似于沙盒 Servlets。

有关如何使用 Servlets 的信息,请参见富 Internet 应用程序中的安全性

Additional Information

有关 applet 安全性对话框的更多信息,请参见探索安全警告功能(oracle.com/technetwork 上的文章)

首页