※ 將以上 machineKey 加入到 Web.config 的 <system.web>...</system.web> 區段中
在ASP.NET中,MachineKey被廣泛應用於ViewState加密、Forms Authentication及Membership Cookie加密、Out-of-Process Session資料加密、Membership密碼雜湊(或加密)... 等運算。由於預設為自動產生,大部分的人(甚至開發者)不曾感受過它的存在,但它卻一直默默扮演捍衛ASP.NET安全的重要角色。比較有機會察覺到MachineKey的場合,多半出現在多台伺服器組成Web Farm的架構中,此時需手動將各伺服器的MachineKey設成一致,以避免ViewState MAC驗證失敗問題。
以上的概念我在剛學ASP.NET時就確立了,最近在處理主機ViewState MAC驗證相關問題時,倒產生了一些新的疑問:
秉持追根究底的精神,研讀過相關文件,甚至追蹤了部分ASP.NET核心程式,理出一點頭緒:
...
原文:http://blog.darkthread.net/post-2011-11-20-inside-aspnet-autogenkeys.aspx
machineKey 項目 (ASP.NET 設定結構描述) 設定金鑰,用以進行表單驗證 Cookie 資料及檢視狀態資料的加密和解密,並驗證跨處理序 (Out-Of-Process) 工作階段的狀態識別。
ASP.NET MachineKey自動產生原理剖析 在ASP.NET中,MachineKey被廣泛應用於ViewState加密、Forms Authentication及Membership Cookie加密、Out-of-Process Session資料加密、Membership密碼雜湊(或加密)... 等運算。由於預設為自動產生,大部分的人(甚至開發者)不曾感受過它的存在,但它卻一直默默扮演捍衛ASP.NET安全的重要角色。比較有機會察覺到MachineKey的場合,多半出現在多台伺服器組成Web Farm的架構中,此時需手動將各伺服器的MachineKey設成一致,以避免ViewState MAC驗證失敗問題。
當 ASP.NET 發生 Viewstate MAC 的驗證失敗 ( machineKey ) 問題是這樣的,當 ASP.NET 因為網頁還沒全部下載完成時,使用者就按下網頁中的任意一個 PostBack 的按鈕或連結時,就會發生「Viewstate MAC 的驗證失敗」的錯誤訊息!
相機的畫素提高,照片尺寸也隨著增大,透過無損壓縮,除了可以保持影像品質、減少儲存空間,更能節省主機頻寬流量,對於訪客的瀏覽速度更是大大提升。快來試試看 ez2o 開發的 Optimize Images,結合了 Google 推薦的各大優化軟體,讓您透過簡單的拖曳方式,就能將圖片進行優化。
將 CSS 進行 壓縮、優化、縮減,並且保持 CSS 正常顯示,直接在網頁進行操作,不用下載軟體。
利用線上工具將字串轉換為 Url Encode 或 Url Decode,方便Url字串處理,不需要再另外寫程式處理。
將 Html 進行 壓縮、優化、縮減,並且保持 Html 正常顯示,直接在網頁進行操作,不用下載軟體。
顯示瀏覽器的 HTTP Request Headers 資訊,常見的包含:Accept、Accept-Encoding、Accept-Language、Connection、Cookie、Host、Referer、User-Agent...