由于受到许多恶意应用的威胁,浏览器对待互联网上的Java小应用时统统认为它们是不可信任的。基于此,Java小应用安全限制的内容有:
1) 文件访问限制
Java小应用不允许读写本地的文件系统;只能读其home web server端的文件。
2) 网络资源限制
Java小应用不能与非home web server的任何机器建立连接。它只能对其home web server帧听或发送数据包。
3) 其它限制
不能访问系统的属性;不能定义自己的类装载器;不能直接调用本地函数;不能用Runtime.exec方法运行本地命令;不能定义类属于某一包(package);等等。
注意1:
Java Application必须在本地执行,因此可信任,没有安全限制。
注意2:
注意区别 file://c:\xxx\xxx.html 和 http://www.xxx.com/xxx.html。
通常前者可能不通过applet class loader加载,因此没有安全限制;而后者
一定经applet class loader加载,因而受Security Manager的约束。
突破Java安全限制的方法
1) 对Java小应用程序使用数字签名,使浏览器信任之。
可以信任的Java小应用有两种:
a) 安装在本地,运行浏览器的CLASSPATH目录下的类;
b) 在客户端可信任列表中的个体(identity)所签发过的Java小应
用。可信任列表在JDK中由identitydb.obj文件和相应工具来维护,目前
在JDK1.2中的维护工具和以前相比有比较大的变化。
2) 创建自定义安全管理器
建立自己的security manager类AppletSecurity.class,并将它加入客户
端的类库classes.zip中,用以替换浏览器缺省的安全管理器。
除非,你水平很高,否则JDK不建议你使用这种方法。
凡是有该标志的文章,都是该blog博主Caoer(草儿)原创,凡是索引、收藏
、转载请注明来处和原文作者。非常感谢。