※ 將以上 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 的驗證失敗」的錯誤訊息!
透過此程式可以將 Mail 轉換為 JavaScript,避免信箱顯示在網頁上給機器人抓取,可以有效防止機器人寄送廣告信件,避免日後信箱成為廣告信箱,產生的代碼取代 HTML 內信箱位址即可。
縮址,又稱短址、短網址、網址縮短、縮短網址、URL縮短等,指的是一種網路上的技術與服務。此服務可以提供一個非常短的URL以代替原來較長的URL,將長的URL位址縮短。縮址有方便使用者記憶及傳送網址的功能,短址可將太長的網址轉換成極短的網址替代。
將 JS 進行 壓縮、優化、縮減,並且保持 JS 正常顯示,直接在網頁進行操作,不用下載軟體。
顯示瀏覽器的 HTTP Request Headers 資訊,常見的包含:Accept、Accept-Encoding、Accept-Language、Connection、Cookie、Host、Referer、User-Agent...
將 CSS 進行 壓縮、優化、縮減,並且保持 CSS 正常顯示,直接在網頁進行操作,不用下載軟體。