网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.分布式Observer模式最佳实践.
.java指南之使用图形:动画.
.深入了解WebLogic的类装载机制详.
.方案的重复使用.
.配置InternetInformationService.
.如何正确使用Java I/O输出和读入.
.通过开发一个STRUTS项目的体会.
.Java方法过载.
.java设计模式之Prototype(原型).
.Java数据结构---基于数组的表.
.Java--ImageViewer.
.左移赋值运算符 (<<=).
.幸福的联姻:Java 和 Python.
.splice 方法.
.基于WebSphere MQ的收发消息程序2.
.用ApacheVelocity模板引擎速造网.
.Hibernate入门 - 基础配置.
.html-Cancel标签应用注意事项篇.
.Java复杂数据类型用法.
.彻底学习Java语言中的覆盖和重载.

Java何以保网络安全

发表日期:2008-1-5



  Java是惟一一种从设计的开始就考虑安全性的移动代码。虽然并不完美,Java却在程序的功能性和保护主机的安全性两方面达到了最大的平衡,并且Java非常适合将代码从一个平台向另一个平台的移植。
  
    Java采用一个称为“sandbox”的模型来运行移动代码。不被信任的移动代码只能在sandbox中运行而不能进行多数针对主机的操作,比如读、写或删除文件,监听或接受网络连接等等。
  
    当浏览器加载含有Java applet的页面时,它从Web服务器上取Java的字节代码,然后将代码传给称为字节代码检验器的Java部件。检验器确保字节代码有正确的格式,不会超出内部堆栈的边界,这就防止了程序的崩溃。第二个Java部件——类加载器,决定一个Java applet在何时、以何种方式将代码加入正在运行的Java环境,保证此applet不会取代任何系统级别的内容。(每一个Java程序由一个或多个类、数据对象以及如何操作数据的方法所组成。)
  
    最后,还有第三个部件称为安全治理器,当一个有潜在危险的方法试图运行时,安全治理器就会起作用。是否运行这种有潜在危险的方法取决于需求此种方法的类来源于何处。举例来说,内部本身的类比通过网络获取的类具有更大的特权。(因为这一原因,要注重千万不要将不明出处的类通过将其路径放在系统的CLASSPATH下而成为内部本身的类。)
  
    由此可见,字节编码检验器、类加载器和安全治理器使得Java程序高效而安全。即使这样,任何一个部件中的编程错误都会导致安全问题。这就是为什么某些攻击只是针对某一个特定厂商的JVM,这是因为并不是Java本身的安全模型出了问题,而是因为实现这一模型的方法出了问题。
  
    随着Java程序的复杂化、实用化,必须要脱离“sandbox”运行。这可以通过Java开发工具包JDK(Java Development Kit )1.1来实现,JDK在系统中扩展了加密的API,并且支持数字签名。在Java文档中(.JAR文件)的applet可以通过签名来保护,答应最终用户知道程序是来自可信任的地方,并且未经过任何修改。通过JDK1.1,假如用户通过签名确信applet代码来自可信任的地方,便通知浏览器和JVM将获取的代码与本地代码同样对待,获取完全的权限。
  
    Java 1.2(后来更名为Java 2)在安全方面更进一步,它提供权限不同的模型来运行不同的代码,也就是说,不管是本地代码、下载的信任代码或下载的非信任代码都可以在不同的特权环境中运行。总的说来,Java的安全漏洞较少,尤其是Java 2 ,在安全和性能两方面都有很大提高。
上一篇:用Solstice Enterprise Manager建立Java网络管理应用程序 人气:569
下一篇:Java 高层网络编程 人气:627
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐