一、简介:
在 JDK1.0 中,提供了“沙箱(sandbox)”安全机制:
(1)小应用程序绝不能运行任何一个本地可执行程序;
(2)除了下载它的服务器外,小应用程序不能和任何一台主机通信;
(3)小应用程序不能读写本地计算机的文件系统;
(4)除了所用的 java 版本号、操作系统名或版本号、用于分隔文件的字符(比如
, / 或 / )、分隔路径的字符(如 : 或 ; )以及行分隔符(如 /n 或<script type="text/javascript"> google_ad_client = "pub-8112432724706407"; google_ad_width = 728; google_ad_height = 15; google_ad_format = "728x15_0ads_al"; google_ad_channel = ""; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> /r/n )之外,小
应用程序找不到与本地计算机有关的任何信息。特别是,小应用程序找不到用户名、电子
邮件地址等其它东西;
(5)一个小应用程序弹出的所有窗口都会发出一条警告消息。
二、原因:
小应用程序通常嵌在网页中,只要下载了该网页,就下载了它,并立即开始运行。注
意,它是“应用程序”!如果不对它进行限制,它就可以为所欲为,比如盗取密码、制造
垃圾、破坏系统,等等。
三、突破沙箱:
JDK1.1 的 security API 提供了对小应用程序进行数字签名以及在小应用程序装入和
运行之前校验数字签名的能力。经过这种附加的安全认证层次,签名的小应用程序拥有和
独立的 application 一样甚至更多的安全权限。
java2 平台允许为每一个小应用程序和 application 指定安全策略,可以根据应用程
序的来源或者签名来指定其权限。
在 JDK1.0 中,提供了“沙箱(sandbox)”安全机制:
(1)小应用程序绝不能运行任何一个本地可执行程序;
(2)除了下载它的服务器外,小应用程序不能和任何一台主机通信;
(3)小应用程序不能读写本地计算机的文件系统;
(4)除了所用的 java 版本号、操作系统名或版本号、用于分隔文件的字符(比如
, / 或 / )、分隔路径的字符(如 : 或 ; )以及行分隔符(如 /n 或<script type="text/javascript"> google_ad_client = "pub-8112432724706407"; google_ad_width = 728; google_ad_height = 15; google_ad_format = "728x15_0ads_al"; google_ad_channel = ""; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> /r/n )之外,小
应用程序找不到与本地计算机有关的任何信息。特别是,小应用程序找不到用户名、电子
邮件地址等其它东西;
(5)一个小应用程序弹出的所有窗口都会发出一条警告消息。
二、原因:
小应用程序通常嵌在网页中,只要下载了该网页,就下载了它,并立即开始运行。注
意,它是“应用程序”!如果不对它进行限制,它就可以为所欲为,比如盗取密码、制造
垃圾、破坏系统,等等。
三、突破沙箱:
JDK1.1 的 security API 提供了对小应用程序进行数字签名以及在小应用程序装入和
运行之前校验数字签名的能力。经过这种附加的安全认证层次,签名的小应用程序拥有和
独立的 application 一样甚至更多的安全权限。
java2 平台允许为每一个小应用程序和 application 指定安全策略,可以根据应用程
序的来源或者签名来指定其权限。