哪吒2之魔童闹海|哪吒2之魔童归来免费观看|哪吒2在线观看|哪吒2魔童闹海电影免费观看|哪吒2免费观看完整版大电影|哪吒1免费观看完整版

新疆軟件開發(fā)

本站首頁(yè) 軟件開發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> .Net技術(shù) >> 文章正文

asp,net軟件結(jié)構(gòu)設(shè)計(jì)和相關(guān)的安全性問題

  asp.net程序的結(jié)構(gòu)該如何設(shè)計(jì)呢,我們看看下面的這篇文章: 
     從邏輯上講,您需要規(guī)劃解決方案以標(biāo)識(shí)數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)訪問、業(yè)務(wù)規(guī)則、用戶界面等之間的“邊界”。通常,Web 開發(fā)人員會(huì)選擇一個(gè)兩階段模型,并用 Web 窗體存儲(chǔ)用于訪問現(xiàn)有數(shù)據(jù)存儲(chǔ)系統(tǒng)(例如 Microsoft SQL Server)的所有代碼。一個(gè)更有效的方法是創(chuàng)建一個(gè)位于 Web 窗體用戶界面與 SQL Server 數(shù)據(jù)存儲(chǔ)系統(tǒng)之間的中間層組件庫(kù)。這種三層方法(Web 窗體、組件、數(shù)據(jù)庫(kù))通常是大多數(shù)應(yīng)用程序所需的。但是,在某些情況下,可能需要一個(gè)其他層來(lái)處理服務(wù)器之間傳輸?shù)臄?shù)據(jù)。這個(gè)傳輸層可以使用獨(dú)立于平臺(tái)的協(xié)議(例如 XML-SOAP)來(lái)實(shí)現(xiàn)。但是,如果您從頭到尾都使用 Microsoft .NET 技術(shù),則可以使用 .NET 遠(yuǎn)程協(xié)議的二進(jìn)制版來(lái)完成這一任務(wù),而且速度比使用 XML-SOAP 要快得多。

  對(duì)于我們的示例,我們將定義三個(gè)邏輯邊界:用戶界面(Web 窗體)、中間層(一個(gè) .NET 組件程序集)和數(shù)據(jù)層(SQL Server 數(shù)據(jù)庫(kù))。
  另外,邏輯層有助于我們考慮安全問題。各個(gè)圖層之間的邊界都存在潛在的安全漏洞。而且,各個(gè)圖層可能有自己特定的安全措施(SQL Server 權(quán)限、.NET 運(yùn)行時(shí)權(quán)限、ASP.NET 安全等)。同樣,我們稍后會(huì)在本節(jié)中詳細(xì)討論這個(gè)問題。
   現(xiàn)在我們有一個(gè)簡(jiǎn)單的邏輯模型。它是如何起作用的?它有助于我們考慮各個(gè)邏輯組之間的邊界。每個(gè)邏輯層應(yīng)盡量與其他層獨(dú)立。理想的情況是,圖層中的更改應(yīng)該對(duì)整體產(chǎn)生最小的影響。例如,如果將數(shù)據(jù)存儲(chǔ)從 SQL Server 更改到 XML 數(shù)據(jù)文件,唯一受到影響的圖層應(yīng)是中間層圖層。用戶界面應(yīng)該根本無(wú)需考慮更改。這會(huì)使您進(jìn)行思考:如何實(shí)現(xiàn)解決方案的實(shí)際編碼以實(shí)現(xiàn)此原則。

一、物理體系結(jié)構(gòu)
  確定邏輯層后,考慮物理層也很重要。例如,您可以在同時(shí)安裝有 SQL Server、Internet Information Server、ASP.NET 和 .NET 運(yùn)行時(shí)的單個(gè)實(shí)際計(jì)算機(jī)上實(shí)現(xiàn)這個(gè)應(yīng)用程序。這將是一個(gè)物理層。但更可靠且可擴(kuò)展的方法是:在由三個(gè) Web 服務(wù)器組成的簇上部署 Web 窗體,在兩個(gè)應(yīng)用服務(wù)器上部署 .NET 組件程序集,在兩個(gè)故障恢復(fù)模式的 SQL Server 上部署數(shù)據(jù)庫(kù)。這樣產(chǎn)生的物理體系結(jié)構(gòu)將七個(gè) Windows 服務(wù)器包含在三個(gè)主要組中:Web 簇、組件簇和數(shù)據(jù)庫(kù)簇。如果您了解系統(tǒng)的不同邏輯部件可以位于不同的計(jì)算機(jī)上,您可能會(huì)實(shí)現(xiàn)不同的代碼。對(duì)于示例,我們采用一個(gè)有效且強(qiáng)大的兩層模型:數(shù)據(jù)庫(kù)服務(wù)器托管 SQL Server 數(shù)據(jù)存儲(chǔ)Web 服務(wù)器托管用戶界面和組件。如果通信量非常大,這個(gè)模型使我們可以靈活地在簇中添加更多的服務(wù)器,并使其保持足夠的簡(jiǎn)潔以便于處理。正如您看到的那樣,邏輯體系結(jié)構(gòu)和物理體系結(jié)構(gòu)不必相同。在規(guī)劃階段還要考慮一項(xiàng)內(nèi)容:安全。

二、安全規(guī)劃設(shè)計(jì)
  Microsoft 有一個(gè)關(guān)于安全性與軟件這一主題的歌訣:“Secure by design, secure by default, and secure by deployment(設(shè)計(jì)安全,默認(rèn)安全和部署安全)”。即,在安全中設(shè)計(jì),期待系統(tǒng)在默認(rèn)情況下是安全的,以及創(chuàng)建可以在安全環(huán)境中成功部署的解決方案。安全始終是重要的。既然越來(lái)越多的軟件要在公用的 Internet 上“生存”,編寫安全的軟件就更加關(guān)鍵。對(duì)于我們而言,幸運(yùn)的是,.NET 運(yùn)行時(shí)和 Windows 操作系統(tǒng)提供廣泛的安全選項(xiàng)和功能,我們可以輕松地將其包含在我們的應(yīng)用程序中。無(wú)需過分注重標(biāo)識(shí)和消除聯(lián)機(jī)解決方案中安全漏洞的細(xì)節(jié),我們可以指出其中一些最常見的漏洞并指出我們的應(yīng)用程序規(guī)劃如何進(jìn)行處理。

  注意:有關(guān)可用選項(xiàng)的詳細(xì)信息,請(qǐng)參閱 Microsoft Security Developer Center。
三、緩沖區(qū)溢出設(shè)計(jì)

  這可能是已編譯應(yīng)用程序中最常見的安全漏洞。由于我們將使用 .NET 運(yùn)行時(shí),而它是設(shè)計(jì)用來(lái)在內(nèi)存中安全運(yùn)行的,因此不太可能發(fā)生緩沖區(qū)溢出。此外,我們使用 Microsoft Visual Basic? .NET 對(duì)解決方案進(jìn)行編碼,而 Microsoft Visual Basic? .NET 不像 C 或 C++ 那樣容易受到緩沖區(qū)溢出問題的影響。但是,即使我們打算用 C++ 創(chuàng)建組件,我們還可以使用編譯程序的特殊功能,GS 轉(zhuǎn)換,來(lái)保護(hù)我們免受大多數(shù)緩沖區(qū)溢出的攻擊。
四、數(shù)據(jù)庫(kù)攻擊設(shè)計(jì)
  另一種常見的安全漏洞可能會(huì)使惡意用戶獲得訪問存儲(chǔ)在數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)的權(quán)限。為了防止黑客獲得數(shù)據(jù)的控制權(quán),我們僅使用 SQL Server 存儲(chǔ)過程,而不使用“內(nèi)聯(lián)查詢”。這樣可以大大減少試圖在輸入流中插入其他 SQL 命令的攻擊。我們還在程序中多個(gè)位置處使用輸入驗(yàn)證,以確保所有輸入僅包含有效的字符。

五、交叉站點(diǎn)腳本攻擊設(shè)計(jì)
  對(duì) Web 應(yīng)用程序進(jìn)行的常見攻擊還有一種,它涉及到用戶在輸入流中添加客戶方腳本,這類攻擊將執(zhí)行附加的對(duì)話并誘騙用戶將個(gè)人數(shù)據(jù)發(fā)送到黑客自己的 Web 站點(diǎn)。要解決這個(gè)問題,我們使用 ASP.NET 1.1 的一個(gè)新功能,過濾出這種惡意代碼的所有輸入,防止將它置入系統(tǒng)中。顯示屏幕上還包含附加代碼,它將自動(dòng)禁用任何腳本或顯示可能會(huì)插入到數(shù)據(jù)存儲(chǔ)中的標(biāo)記!≈链,我們已獲得了應(yīng)用程序的邏輯模型和物理模型,以及確保實(shí)現(xiàn)方案包含的安全功能清單。擁有了這些以及目標(biāo)聲明和用戶方案,我們可以開始這次“編碼前”探險(xiǎn)的最后一部分了。

作者:未知 | 文章來(lái)源:未知 | 更新時(shí)間:2008-5-6 13:48:46

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    搜集整理的asp.net的驗(yàn)證方式大全session
    如何解決Menu菜單被frame遮擋以及iframe自適應(yīng)的問題
    Orcale與Asp.net的端口沖突解決方法
    如何利用SQL Server進(jìn)行會(huì)話狀態(tài)session的保持
    ASP.NET 2.0之Memebership擴(kuò)展應(yīng)用解決方案
    數(shù)據(jù)庫(kù)設(shè)計(jì)-數(shù)據(jù)庫(kù)的三級(jí)模式
    ASP.NET中如何使用unsafe選項(xiàng)
    三個(gè)視圖搞定SqlServer數(shù)據(jù)庫(kù)字典
    深入了解數(shù)據(jù)源控件Data Souce controls
    asp.net調(diào)用js代碼亂碼的問題
    軟件技術(shù)
    · 開發(fā)語(yǔ)言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫(kù)開發(fā)
    最新文章  
    ·.net技術(shù) asp.net MVC3 Vi
    ·.net將視頻文件格式轉(zhuǎn)換成
    ·NET Framework 2.0 Servic
    ·如何動(dòng)態(tài)修改winform的app
    ·asp,net軟件結(jié)構(gòu)設(shè)計(jì)和相關(guān)
    ·學(xué)習(xí)怎樣使用ASP.NET中的虛
    ·,net基礎(chǔ)類的學(xué)習(xí):system
    ·.net學(xué)習(xí):c#事件的深入分
    ·Facade Pattern學(xué)習(xí)總結(jié)
    ·C#如何設(shè)置或者獲取目錄的
    ·如何使用XSL來(lái)定義ASP.NET
    ·理解WCF Data Contract契約
    ·如何能在.net2.0開發(fā)的控件
    ·模式怎樣使用,講解模式的
    ·如何解決Menu菜單被frame遮
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.pg11qqq.com All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000