由于受到許多惡意應用的威脅,瀏覽器對待互聯網上的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(草兒)原創,凡是索引、收藏
、轉載請注明來處和原文作者。非常感謝。