The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹ASP.NET元件:.NET URL Rewriter and Reverse Proxy

由於我以前曾經好長一段時間都只碰 LAMP ( Linux, Apache, MySQL, PHP ),也因為這樣之前曾經接觸過 Apache 的一個很有名的模組 mod_rewrite,由於這個模組強大的 URL Rewriting 功能,讓你很輕易的就可以完成 SEO 的規劃,或是設定條件阻擋 Hot-linking 的要求,甚至於還可以做到類似 Reverse Proxy 的效果。這樣的功能在 ASP.NET 中當然也少不了,不過讓我高興的是,竟然有人實做出一個跟 mod_rewrite 設定格式幾乎相容的版本。

... 繼續閱讀 ...

C# 編碼規範(Coding Standard)參考文件

我長久一來一直苦惱於不知道如何訂定 C# 編碼規範(Coding Standard),雖然很久以前我就有看到微軟的開發類別庫的設計方針文件,不過內容過於嚴謹,況且我們的工程師大多是開發 ASP.NET 居多,並不常開發類別庫(Class Libray),所以我若用 MSDN 的開發類別庫的設計方針要求工程師們可能會有點不切實際。

... 繼續閱讀 ...

CasPol.exe 程式碼存取安全性原則工具幾個常用的指令

程式碼存取安全性(CAS, Code Access Security)是 .NET Framework 中非常重要的一部份,不過我發現大部分的 ASP.NET 開發人員並不清楚 CAS 是什麼,因為在開發 ASP.NET 的時候很少有機會去碰觸到這一塊,最近我們工程師在用 .NET 寫一個 COM 元件時就發生了 CAS 的權限問題,導致程式無法正常執行的情況。

... 繼續閱讀 ...

使用 SecureString 類別保護你的字串值

我們其實可以透過許多工具取得 .NET 應用程式執行時在記憶體中的資料,例如:WinDbgDebug Diagnostic Tool。而當你在 .NET 程式中需要將一些較機密的資料暫存在變數(物件)時,若單純的使用 System.String 類別建立執行個體(Instance)儲存資料,就很容易被一些除錯工具或傾印(dump)工具取得原始資料,原因是 System.String 類別是不變的(immutable),且當不再需要它時也無法透過程式排程進行記憶體回收。所以當你使用 System.String 類別儲存文字內容在記憶體中,就很難保證在物件不用了之後能夠即時在記憶體中刪除,這樣的程式就有被資訊揭露(Information Disclosure)的安全風險。

... 繼續閱讀 ...