当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > JAVA > APPLET与SWING > 正文

通过自建代理服务器增强 Applet 的功能(1)

http://www.zk168.com.cn  招考学习网 2006-4-11 1:16:58
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
众所周知,JAVA小应用程序(Applet)在网络应用方面有着十分强大的功能,但是由于其存在着安全隐患,所以对于"她"的使用,JAVA语言做了很多的限制,想必大家都已经很清楚了,其中最让人不开心的就是,小应用程序只能够连接提供网页的计算机(Applet必需嵌入到一个HTML页面中才能得以发布),但如何将您的小应用程序分发出去呢,这就是我们要讨论的。

JAVA语言的"强项"就在于其网络功能的强大和操作的简易性,而小应用程序(Applet)作为JAVA技术的一部分,更是"锦上添花"。然而,您可否遇到过这样的事情呢,"辛辛苦苦"做出了一个自认为很精彩的Applet,可是运行时,却是"千呼万唤,她也不出来",原因何在呢,那就是JAVA语言对Applet的安全性做了多方面的限制,现在就让我们了解一下吧!

· Applet的安全性

您有没有想过,通过Applet来连接一个网络服务器;您有没有想过,通过Applet来访问本地的文件,……。我想您一定做过不少的尝试,但结果总是让人难以满意,原困就是JAVA语言对Applet技术做了多方面的限制。

"Applet只能把电话打回家里"(摘自《JAVA2核心技术》),什么意思?大家不要会错意了,这是说,网络浏览器只允许一个小应用程序在给它提供服务的主机读取和写入数据。Applet只能连接其所驻留的计算机的套接字。

乍看起来,这个限制似乎毫无意义:为什么这个小应用程序被禁止执行周围浏览器一直在执行的操作,即是从网络上某台主机获取数据的操作。也许大家有些不大明白,让我们具体化这三个相关的主机,会有助于理解这个基本原理(参图一)。

  • 源主机--给客户发送网页和JAVA小应用程序的计算机。
  • 本地主机--运行你的小应用程序的用户计算机。
  • 你的小应用程序准备访问的第三方的数据存储库。

    图一 Applet安全性不允许连接第三方数据
    图一 Applet安全性不允许连接第三方数据

Applet安全性规定:

  1. Applet只能读取源主机上的数据。
  2. Applet不能写入本地主机。
  3. Applet不能读取本地主机上的数据。

不能让小应用程序写入本地主机是因为Applet可能会向本地主机传播病毒或修改它上面的重要文件,所以我们要保护运行小应用程序的客户机;不能让小应用程序读取本地主机的信息是因为本地可能保留着用户银行卡数字等这类敏感的信息,因为小应用程序支持多线程,当你打开一个漂亮的页面,使用它上面提供的有用的功能时,你可能不会意识到这个小应用程序背后的其它线程在做些什么。所以说,不能让小应用程序对本地计算机进行读写操作是同样重要的。

这样还可以理解,但为什么这个小应用程序不能从网上读取其它文件呢?网络不正是一个公用信息资源库吗?难道不是每个人都可以从网上读取信息吗?假如你在家里利用括号设备访问Internet的话,可能是能够随心所欲的。但是你如果是一名公司的职员,在公司内部使用网络资源,正好你们所在公司又恰好安装了防火墙(FireWall),那么情况就完全不一样了。

如果要详细介绍防火墙,可能最近几天大家都有不要睡觉了,所以这里只是说一下防火墙的功能。可以这样理解一个防火墙就是一个计算机,它过滤进出公司局域网的数据包。通过对安全策略的设置,它可以完成很多功能。例如:它可以拒绝局域网内除了邮件服务器以外的所有主机上邮件端口的访问请求防火墙也可以过滤公司局域网与Internet之间的通信规则,所有的这些完全取决于安全的需要。(参图二)

图二 利用防火墙提供安全性
图二 利用防火墙提供安全性

拥有一个防火墙可以让一个公司利用网络向雇员发送对他们有重要意义的内部信息,但同时拒绝来自公司外部的访问。一个公司只需简单的安装一台网络服务器,把其地址通知全部的雇员,并设立防火墙以拒绝任何来自公司外部的访问这个服务器的请求。而公司的职员可以用安全的使用公司内部的网络,浏览服务器。

如果一个雇员访问了你提供的网页(含有Applet的网页),那么就会有一个小应用程序被下载到装有防火墙的计算机并开始在那里运行。如果这个小应用程序可以读取它驻留的浏览器读取的所有网页,就可以访问这个公司内的住处接着,它可以连接一个主机,并利用这个主机接收和送回所有私人信息。显然这是不安全的。

这简直太糟糕了,真的,你不能自己编写运行于网上的小应用程序,获取信息,处理和格式化这些信息,并把它们发送给Applet用户。假如,我们的小应用程序只是想得到一些信息,而并不想向它的主机写回任何信息,难道这样也不行吗?为什么不能让浏览器和这个小应用程序签一个协议呢?如果这个小应用程序答应不向任何地方写入数据,那么它应该能读取任何地方的数据。这样的话,她只充当一个住处捕获者和处理者,并在用户屏幕显示瞬息的结果。(实现上,这是可行的,这就是目前最为流行的"数字签名技术",以后我们在作介绍,这里我们介绍的是另外一种解决方法。)

-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·环保企业人力资源开发与管理的实证研究————巨龙公
·重油制气污水处理系统(A/O)技术改造
·英美CPA管理模式及其启示
·改造NERA微波公务信道为国产监控信道
·EAStudio让电子商务网站如虎添翼
·基于PB6和ORACLE8开发“劳动信息管理系统”
·巧解Pretty  Park 病毒一例
·CDMA在中国的应用以及向CDMA2000的过度中的问题研究
·SMA施工控制与现场监理
·浅谈改性沥青及SMA路面平整度的控制
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>