沙箱: 是java安全的基石
java在安全方面的设计非常的直观。
“保护资源”是安全设计的思想,在java中把资源分为 文件、网络访问(套接字)、运行时、网络、安全、反射、序列化。
以上对资源的分类有点费解哦,按我个人的理解闲扯淡吓!!
资源就是信息,包括文件、网络、网络连接、各种操作 、等等等都是资源。通常说资源有三个维度——物质、时间、空间 ,这三个维度都是可以无限延展的,所以资源是罗列不尽的。但对有限的时间、空间、和固定的物质形态 下,资源是可以被完整罗列的。并且在一个很狭小的范围内,我们对资源的认识会很敏感,我们每天都和重要的资源打交到,学会了利用资源和再生资源。
对java中罗列的资源正是这种我们认为很重要的资源,因为重要,所以有时我只希望部分人能用,一部分人不能用,以避免有人非法破坏这些资源。
java通过沙箱,有效的保护了java世界的资源 —— 沙箱就是对资源保护的一个策略,
这种策略通过“安全配置文件”、“管理此配置文件的API” 、“以及API的实现类” 共同组成,java需要依仗他才能提供安全功能,因此他是java安全核心的基石。包括IO类、网络类、反射类、安全提供类(如加密、解密)等等这些java核心API,实现上都可以用到沙箱来规范对资源的访问,资源当然就是上面说的那些东东。
如,我们的应用调用file这个核心类访问文件“C:/myfile”,file进一步调用IO类,IO类可以访问沙箱从而知道是否有权访问“C:/myfile”