• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP.NET VIEWSTATE初探[3]

    發布: 2010-5-18 11:27 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 144次 | 進入軟件測試論壇討論

    領測軟件測試網

      <%@Page EnableViewStateMAC=true %>

      可以在頁面級別上設置 EnableViewStateMAC,也可以在應用程序級別上設置。在回傳時,ASP.NET 將為 ViewState 數據生成一個散列代碼,并將其與存儲在回傳值中的散列代碼進行比較。如果兩處的散列代碼不匹配,該 ViewState 數據將被丟棄,同時控件將恢復為原來的設置。

      默認情況下,ASP.NET 使用 SHA1 算法來生成 ViewState 散列代碼。此外,也可以通過在 machine.config 文件中設置 來選擇 MD5 算法,如下所示:

      

      十、加密

      可以使用加密來保護 ViewState 字段中的實際數據值。首先,必須如上所述設置 EnableViewStatMAC="true"。然后,將 machineKey validation 類型設置為 3DES。這將指示 ASP.NET 使用 Triple DES 對稱加密算法來加密 ViewState 值。

      

      十一、Web 領域中的 ViewState 安全

      默認情況下,ASP.NET 將創建一個隨機的驗證密鑰,并存儲在每個服務器的本地安全授權 (LSA) 中。要驗證在另一臺服務器上創建的 ViewState 字段,兩臺服務器的 validationKey 必須設置為相同的值。如果要通過上述方式之一,對運行于 Web 領域配置中的應用程序進行 ViewState 安全設置,則需要為所有服務器提供一個唯一的、共享的驗證密鑰。

      驗證密鑰是一個包含 20 到 64 位密碼增強字節的隨機字符串,用 40 到 128 個十六進制字符表示。密鑰越長越安全,因此建議使用 128 個字符的密鑰(如果計算機支持)。

      十二、總結

      ASP.NET ViewState 是一種新的狀態服務,可供開發人員基于每個用戶來跟蹤 UI 狀態。ViewState 沒有什么神秘之處,它只是利用了一個老的 Web 編程技巧:在一個隱藏的窗體字段中來回傳遞狀態,并將它直接應用于頁面處理框架中。但效果卻非常好 - 在基于 Web 的窗體中只需編寫并維護很少的代碼。

      用戶可能并不總是需要它,但我想您在需要它的時候會發現,ViewState 是提供給頁面開發人員的諸多 ASP.NET 新功能中非常令人滿意的一種功能。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>