论坛首页 Java企业应用论坛

java serialization

浏览 4606 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-01-29  
OO
       在Java语言中允许使用java.io.Serializable接口将类标志为可序列化,从而可以将该类的对象通过I/O传递(如:通过网络传递)或者将对象写入到文件系统中。然而在java.io.Serializable中并没有定义任何的操作。那么Serializable接口究竟起到什么样的作用呢?
     Java语言为程序开发者提供了许多的安全检查,从而保证java程序在语言级别以及运行环境上的稳定、可靠,从而使开发人员能把主要经历集中在软件设计上。然而,一个功能相对复杂的软件大都会应用到网络传输或者本地数据的持久化(将对象写到文件中),而这些操作都在一定程度上破坏了JAVA程序的安全性,因为网络传输与文件系统都是不受控的环境,在这样的环境中,用户的数据很容易就遭到攻击或者破坏。比如:改写或者破坏本地文件系统简直是轻而易举的事情。
    在保障JAVA程序的安全又要保证程序功能与用户需求的情况下,需要介入一部分人为因素,来保证程序的安全。Serializable接口的使用其实是在程序开发人员或者设计者在做开发和设计的时候对JAVA运行环境的一种声明,用来说明程序中需要传递或者保存到文件系统中的对象数据程序开发者认为是在不受控的环境中安全的。通过这样的标识,来告诉JVM可以对对象进行网络传输或者持久化,从而来穿越JAVA的安全管理层。
     总结:对于将JAVA程序中的对象数据进行网络传输或者本地持久化,给程序开发者带来了很大的方便,但是在某种意义上,对象序列化确实又引发了一定的安全问题。那么这就要求我们在考虑在准备将一些对象数据进行序列化的时候,进行安全的处理,从而保护敏感数据。
   发表时间:2007-03-15  
  没看太明白
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics