熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET 2.0程序的安全知識

2013-11-13 10:40:36  來源: .NET編程 

  成員關系的概念在人類社會中是一個層次比較低的概念源於希望屬於某個群組的意識同樣在ASPNET 程序開始開發涉及到成員關系的應用程序時必須首先理解身份驗證和授權這幾個關鍵的概念

  成員關系的概念在人類社會中是一個層次比較低的概念源於希望屬於某個群組的意識我們希望能覺得自己是某個團隊的一部分讓別人知道我們是誰因此Web搭上這個流行趨勢采用這個概念只是時間早晚的問題如果坐下來想一想曾經登錄過多少個站點並在這些站點上保存了簡單的用戶信息可能會發現自己所屬的群組比一開始想象的要多得多從出售書籍和小器具的站點到討論擁有一輛Ford Puma的好處的社區或者宣傳一個名為Look Around You的BBC TV喜劇節目的站點作者發現自己是會員的站點多得無法一一列舉接下來就會碰到一個熟悉的困難“登錄這個站點要使用哪個用戶名和口令?”

  Web上最成功的站點之一Amazoncom一開始只是一個書店但後面經營的范圍越來越大現在當用戶登錄Amazon時將發現整個頁面上全是與該用戶的消費習慣有關的商品

  在開始開發涉及到成員關系的應用程序時必須首先理解幾個關鍵的概念這些概念是身份驗證和授權

  身份——我是誰

  在考慮身份時我們可以用幾種獨一的特性來描述自己例如我是一個頭發金黃的女人喜歡看科幻電影和組裝PC機但這些信息對於對我的羽毛球技術感興趣的人來說並不是必需的保存在站點中的身份信息很可能只與一個人的某些方面相關例如一個購物站點會保存用戶的姓名電話號碼電子郵件地址和家庭地址這些信息都與商品的銷售有關它們可能不會關心您的個人興趣(除非它們和Amazon的規模一樣大)所以它們並不需要保存關於用戶的這類信息但是這並不妨礙它們擁有這些方面的身份信息

  因此身份也就是我是誰的概念是一組范圍很廣的實際情況的集合您可能曾經在簡歷裡寫下了很多實際情況但這些情況同樣只與潛在的雇主相關在簡歷中保存和刪除哪些情況由自己決定在保存一個站點的成員的信息時情況也是一樣的必須在開發階段就確定要保存成員的哪些實際情況

  身份驗證——這就是我

  在試圖登錄一個網站的時候用戶要輸入某些證書例如郵件地址及其口令的組合網站接下來必須判斷用戶是否就是自己聲明的那個人因此用戶輸入的郵件地址和口令的組合必須與保存在服務器文件中特定的郵件地址和口令組合相匹配

  身份驗證的過程就是證明自己是自己所聲明的那個人的過程很多站點不論它們是零售商品還是提供社區服務都使用郵件地址和口令的組合作為身份驗證方法這是一種經過反復考驗的方法雖然這種方法不是絕對安全但是只要選擇一個足夠可靠的口令並嚴格保密同時站點的代碼經過嚴格的測試那麼用戶的配置文件將只能由用戶本人使用

  授權——這是我能做的

  在向網站輸入用戶名和口令之後Web服務器將不僅會驗證口令和用戶名是否匹配還將查看站點管理員給用戶授予了什麼權限身份驗證之後的下一個步驟是授權這個步驟將檢索您所擁有的用戶賬戶類型的更多信息

  例如以一個銀行網站為例在用戶的登錄信息通過驗證之後服務器將查看用戶在該站點上的權限與大多數用戶一樣您可以查詢賬戶在賬戶之間轉賬或者支付賬單然而如果銀行受到某個安全方面的恐嚇(類似於Internet上到處流傳的網絡釣魚(phishing)電子郵件)您可能會發現自己突然無法通過這個在線應用程序添加任何第三方代理訂單直到安全危機解除為止功能的關閉很可能是由管理員為一些或所有用戶設置一個特殊的標記而進行控制的在頁面上告訴用戶他們不再有權限修改他們賬戶的詳細信息

  登錄站點

  登錄站點的過程從用戶的角度看就是輸入一組證書然後根據自己的配置文件看到不同用戶界面的過程通常用戶所使用的證書是用戶名加口令的組合;然而對於安全性更高的站點例如銀行站點可以使用其他的方式登錄包括PIN和安全認證如果不考慮向服務器傳送身份驗證證書的方法那麼身份驗證的基本原則是一樣的一旦驗證完成之後通過身份驗證機制查詢用戶具有什麼樣的權限就比較簡單了


From:http://tw.wingwit.com/Article/program/net/201311/14274.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.