24.4 Applet的安全
当访问包含Applet的网页的时候,不管愿意还是不愿意,网页中的Applet都会被下载并且运行。如果程序员设计一个恶意的Applet,那么用户访问这个网页的时候,就会对用户进行攻击。
为了能解决上面这个问题,Applet已经提供了安全的保障,以防止其内含有威胁用户安全的代码。Applet包含下列安全事项:
❑Applet无法运行用户计算机中的程序。
❑Applet无法访问用户计算机中的文件。
❑Applet无法获取用户计算机中的大部分信息。
❑Applet无法调用用户计算机中的native method。
❑Applet只能与提供本Applet的服务器进行通信。
【实例24.5】下面通过一个实例,演示当Applet试图访问用户计算机上的文件时,发生的情况。
01 import java.awt.*;
02 import java.applet.*;
03 import java.io.*;
04 ///创建一个文本区控件ta
05 ///在初始化方法中添加这个控件,创建一个文件类对象,并且通过判断f是否存在,
06 ///以输出不同的结果
07 public class test5 extends Applet
08 {
09 TextArea ta=new TextArea("",10,30,1);
10 public void init()
11 {
12 add(ta);
13 File f=new File("d:\abc.txt");
14 try
15 {
16 if(f.exists())
17 {
18 ta.setText("文件存在");
19 }
20 else
21 {
22 ta.setText("文件不存在");
23 }
24 }
25 catch(Exception e)
26 {
27 ta.setText(e.toString());
28 }
29 }
30 }
在同一个目录下创建一个HTML文件,代码如下所示。
31 <html>
32<body>
33<Applet code="test5.class"width="200"height="200">
34</Applet>
35</body>
36</html>
【代码说明】第13行创建一个文件对象,对象文件是d:\abc.txt。第16行通过方法exists()判断文件是否存在。
【运行效果】如果d:\abc.txt这个文件存在,则提示文件存在,否则提示文件不存在。