對比JAVA和.NET兩個平臺的安全功能_.Net教程
推薦:解讀ASP.NET MVC中必知的13個擴展點ScottGu在其最新的博文中推薦了Simone Chiaretta的文章13 ASP.NET MVC extensibility points you have to know,該文章為我們簡單介紹了ASP.NET MVC中的13個擴展點。Keyvan Nayyeri(與Simone合著了Beginning ASP.NET MVC 1.0一書)又陸續(xù)發(fā)表了一些文章,對這
安全配置和代碼封裝
安全配置
兩個平臺的配置都是通過XML或純文本文件,兩個平臺最大的區(qū)別在于處理安全配置體系的方式不同。
在.NET平臺,有圖形接口和命令行二種方式來修改安全配置參數(shù)。Mscorcfg.msc是圖形接口方式,Caspol.exe提供了命令行方式,適用于批處理或配置文本。
Java平臺只提供了圖形接口的工具policytool.exe。和.NET不同的是,它的目標對象(配置文件)的名字和位置不是固定的。
.NET定義了不同范圍的安全配置文件:系統(tǒng)范圍,本機范圍,本用戶范圍。在配置有沖突時,原則上小范圍的參數(shù)有優(yōu)先權(quán)。
Java和J2EE的核心配置文件都保存在固定位置,但擴展配置文件隨廠家不同而不同。
代碼封裝:檢驗Java 和.NET 的Common Library Runtime (CLR) 都實行內(nèi)存安全或類型安全的保護機制,在這些平臺開發(fā)的應(yīng)用的安全性也是可以檢驗的。他們的實現(xiàn)機制有很大的不同。
在.NET, CLR總是執(zhí)行編譯好的代碼,它不解釋代碼。但是在中間語言(IL)被編譯之前,編譯器會有驗證和檢驗的步驟。第一步是檢查文件的結(jié)構(gòu)和代碼完整性;第二步包括一些擴展的檢查,內(nèi)存安全、堆棧跟蹤、數(shù)據(jù)流分析、類型檢查等。在運行階段,由VES (Virtual Execution System) 來負責安全性檢查和出錯意外情況處理。
在Java平臺,Java虛擬機(JVM)負責類的載入、鏈接、檢驗和執(zhí)行。對于已經(jīng)編譯和優(yōu)化的代碼,JVM也用二個無條件調(diào)用堆棧來保留最初的字節(jié)代碼信息。
小結(jié):和.NET不同,JVM的默認設(shè)置是不檢驗本地代碼。另外,JVM保留最初的字節(jié)代碼供運行時檢查,而.NET把靜態(tài)分析和運行時插入檢驗代碼相結(jié)合。
代碼封裝:應(yīng)用隔離在.NET, 域隔離建立在內(nèi)存安全機制的基礎(chǔ)上,不同的域不能直接訪問彼此的地址空間,只能通過.NET遠程通信機制訪問。
在Java平臺,應(yīng)用隔離是通過ClassLoaders 和 ProtectionDomains 相結(jié)合來實現(xiàn)的,安全類加載是JVM安全機制的基石。
小結(jié):.NET的 AppDomains 就象操作系統(tǒng)的進程一樣,使用起來比Java的 ProtectionDomains 更直接、容易一些。
代碼封裝: 語言特征兩個平臺基本上差不多,.NET在靈活性上稍微好一點。
總結(jié):
Java在安全配置上有較多的優(yōu)勢,.NET在代碼封裝的選擇性和易用性好一些。
分享:解讀一個簡單程序的反編譯看了老趙的博客從匯編入手,探究泛型的性能問題 ,突然想起以前自己寫過一個關(guān)于反匯編的文章,特轉(zhuǎn)過來。 源代碼如下: 以下為引用的內(nèi)容: void
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 采用Native 引導方式的.Net加密保護
- 遷移你的Web頁面到ASP.NET AJAX 1.0
- c#生成圖片縮略圖的類(2種實現(xiàn)思路)
- 詳解:如何在.NET中訪問MySQL數(shù)據(jù)庫?
- 剖析ASP.NET AJAX的面向?qū)ο笏枷?/a>
- 解讀VS2008中查看.NET源碼的設(shè)置方法
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- String.Empty、NULL、“”的不同之處
- 解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解
- 解析.NET調(diào)PHP Web Service的典型例子
- 相關(guān)鏈接:
- 教程說明:
.Net教程-對比JAVA和.NET兩個平臺的安全功能。