对未签名的Java小程序可以做什么的限制?
我正在尝试编译一个完整的列表,列出对未签名的Java小程序的所有限制 (定义为普通Java应用程序可以执行的操作,但未签名的Java小程序不能)。
这是我到目前为止编译的列表:
一个未签名的Java小程序……
- 无法访问本地文件系统。
- 无法访问系统剪贴板。
- 无法启动打印作业。
- 无法连接或从任何第三方服务器(applet源自的服务器以外的任何服务器)检索资源。
- 无法使用多播套接字。
- 无法创建或注册
SocketImplFactory
,URLStreamHandlerFactory
或ContentHandlerFactory
。 - 无法侦听传入的套接字连接。
- 无法收听数据报。
- 无法访问某些系统属性(java.class.path,java.home,user.dir,user.home,user.name)。
- 无法创建或注册
SecurityManager
对象。 - 无法使用
Runtime
或System
的load()
或loadLibrary()
方法动态加载本机代码库。 - 无法通过调用任何
Runtime.exec()
方法生成新进程。 - 无法在运行不受信任代码的线程组之外创建或访问线程或线程组。
- 无法在
java.*
,sun.*
和netscape.*
定义类。 - 无法从
sun.*
包显式加载类。 - 无法通过调用
System.exit()
或Runtime.exit()
退出Java运行时。 - 无法访问系统事件队列。
- 无法使用
java.lang.Class
reflection方法获取有关类的非公共成员的信息,除非该类是从与不受信任的代码相同的主机加载的。 - 无法以任何方式操纵安全身份(java.security)。
- 无法设置或读取安全属性(java.security)。
- 无法列出,查找,插入或删除安全提供程序(java.security)。
问题:是否有任何限制缺失? 如果是这样,请清楚说明您认为列表中缺少的限制。
从Sun的教程中可以看到: Applet可以做什么和不能做什么 。
您也无法注册UncaughtExceptionHandler
。