java - 对未签名的 Java 小程序可以做什么的限制?

标签 java security applet jvm

我正在尝试编译对未签名的 Java applet 施加的所有限制的完整列表(定义为普通 Java 应用程序可以做的事情,但未签名的 Java applet 不能做的事情)。

这是我到目前为止编制的列表:

一个未签名的 Java applet ...

  1. 无法访问本地文件系统。
    • 无法访问系统剪贴板。
    • 无法启动打印作业。
    • 无法连接到任何第三方服务器(除小程序源自的服务器之外的任何服务器)或从中检索资源。
    • 不能使用多播套接字。
    • 无法创建或注册 SocketImplFactoryURLStreamHandlerFactoryContentHandlerFactory
    • 无法监听传入的套接字连接。
    • 无法监听数据报。
    • 无法访问某些系统属性(java.class.path、java.home、user.dir、user.home、user.name)。
    • 无法创建或注册 SecurityManager 对象。
    • 无法使用 RuntimeSystemload()loadLibrary() 方法动态加载 native 代码库>.
    • 无法通过调用任何 Runtime.exec() 方法生成新进程。
    • 无法在运行不受信任代码的线程组之外创建或访问线程或线程组。
    • 不能在 java.*sun.*netscape.* 中定义类。
    • 无法从 sun.* 包中显式加载类。
    • 无法通过调用 System.exit()Runtime.exit() 退出 Java 运行时。
    • 无法访问系统事件队列。
    • 不能使用 java.lang.Class 反射方法获取有关类的非公共(public)成员的信息,除非该类是从与不受信任的代码相同的主机加载的。
    • 不能以任何方式操纵安全身份 (java.security)。
    • 无法设置或读取安全属性 (java.security)。
    • 无法列出、查找、插入或删除安全提供程序 (java.security)。

问题:是否缺少任何限制?如果是,请清楚说明您认为列表中缺少哪些限制。

最佳答案

请参阅 Sun 的教程:What Applets Can and Cannot Do .

关于java - 对未签名的 Java 小程序可以做什么的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1483595/

相关文章:

java - 如果我使用 Java 中的 JPA 搜索 child 的 parent 之一,如何获得 child 的姓名作为结果?

java - 在 Wildfly 模块中找不到持久单元

java - Java Web Start 是否需要启用 Java 浏览器插件?

java - 如何在 JSP 中渲染 HTML 表单字段并在后台同时运行 Java 代码

java - .jar 执行时出现 "Could not find main class"

security - 没有 cookie 的安全 session 管理

security - 对称 key 存储

javascript - Javascript eval 的替代品

java - JApplet 未运行 : < No main classes found >

java - 使用 Apache 的 HttpClient 与使用 JDK 的 URLConnection 从 applet 中连接到 URL