ASP.NET | The Will Will Web

The Will Will Web

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

升級到 Flash Player 10 將會造成無法使用Flash檔案上傳功能

雖然 Flash Player 10 的出現又多了一堆又酷、又炫的功能,不過因為一些「安全」的議題,導致 Adobe 將 Flash Player 10 中的 FileReference 這個類別做了一些改變,而這個類別中有個 FileReference.browse() 方法,可以開啟一個檔案瀏覽的視窗,用來讀取使用者端本機的檔案,最常用這個功能的應用就是「檔案上傳」功能了。在 Flash Player 9 以前,使用者個方法是沒問題的,但是到了 Flash Player 10 又更嚴格的要求 FileReference.browse() 方法的使用方式,不能透過 JavaScript 直接呼叫了,而改成一定要是由「人」點選時「直接呼叫 FileReference.browse() 方法才能使用」,這導致網路上最常見的幾套 Flash 上傳元件全軍覆沒!

... 繼續閱讀 ...

推薦 50 個優質的 AJAX 學習引導(Tutorials)

今天看到一篇文章講 50 Excellent AJAX Tutorials,這篇文章列出了 50 則關於 AJAX 的教學文章,可以幫助剛要上手 AJAX 的人學習之用,每篇文章之間談到的技術領域也很廣,有 PHP, ASP.NET, Java, JavaScript, jQuery, MooTools, ... 等等,與許多各種不同的 AJAX 應用,我覺得蠻不錯的,有興趣的人可以去看看,挑一些自己有興趣的主題看看別人的文章吧(順便練練英文)。

... 繼續閱讀 ...

如何從瀏覽器的位址列(Address Bar)隱藏你正在瀏覽的網址

我們有個客戶的 ASP.NET 網站,主網站就架在網站的根目錄下 ( http://www.example.com/ ),而網站下又設定了 2 個子網站虛擬目錄 ( http://www.example.com/Site1/http://www.example.com/Site2/ ),彼此相依存在著。不過,根目錄下的主網站改版了,但虛擬目錄下的子網站並未改版,這導致子網站無法正常執行了!所以當改版完成後,只能將原本的主網站改另一個 Domain Name ( http://www2.example.com ) 才能讓原本的子網站繼續運作,但這時候客戶卻抱怨說為什麼子網站的網址變了,要求我們將網址回覆到原本的樣子。

... 繼續閱讀 ...

介紹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 設定格式幾乎相容的版本。

... 繼續閱讀 ...

最新的跨瀏覽器攻擊手法:Clickjacking

由於這次我報名參加 2008 OWASP 亞洲年會時,在議程中看到一個新的攻擊手法(或漏洞)稱做 Clickjacking,而 Clickjacking 這名詞有多新呢?連 Wikipedia 上面的的 Clickjacking 資料都是 10/9 才剛新增上去的,我進而研究了一下這個攻擊手法的細節,這才意識到這個漏洞的嚴重性,各位千萬不可等閒視之。

... 繼續閱讀 ...

如何動態修改巢狀 MasterPage 的 MasterPageFile 屬性

我前天遇到一個 ASP.NET 開發的問題,我有一個網站,其中有些頁面套用了一層的 MasterPage、有些套用了兩層 MasterPage、有些套用了三層 MasterPage,這些套兩層以上 MasterPage 的 MasterPage 在第二層的地方都是套用第一層的 MasterPage,不過客戶突然說第一層的 MasterPage 必須要依據不同的網域名稱(Domain Name)而選用不同的 MasterPage,最後耗了我三個小時才解決這個問題。

MasterPage 的套用關係大致的示意如下:

MasterPageTop.master
   ->  MasterPageChannel1.master
       -> MasterPageChannel1_1.master
           -> ContentPage.aspx

而我的需求是要動態變更 MasterPageChannel1.master 裡的 MasterPageFile 屬性,讓 ContentPage.aspx 在顯示的時候將 MasterPageTop.master 改成 MasterPageTop2.master。

... 繼續閱讀 ...

開發ASP.NET請不要使用 Environment.CurrentDirectory

我們之前有位新手工程師(現在已經不新了)曾經在 ASP.NET 中使用 Environment.CurrentDirectory ( 取得目前之工作目錄的完整路徑 ) 來存取網站內的檔案,一般來說很少有人會用 Environment.CurrentDirectory 來存取網站上的檔案路徑,我自己猜測應該是一般的 C# 書籍都是用 Console Program 來撰寫範例,所以可能是新手上路搞不清楚狀況才這樣寫,而且在 Visual Studio 的開發環境中這樣使用還真的不會出錯呢!所以才導致新人一直使用錯誤的方法開發,直到程式被部署到測試主機後才發現程式無法執行。

... 繼續閱讀 ...

.NET 3.5 Enhancements Training Kit RTM

之前在 Visual Studio 2008 推出的時候,同時也推出了一套 Visual Studio 2008 and .NET Framework 3.5 Training Kit 訓練教材,可供開發人員下載自我學習。而隨著這次 Visual Studio 2008 Service Pack 1.Net Framework 3.5 Service Pack 1 的推出,也同時推出了 .NET 3.5 Enhancements Training Kit 訓練教材,其中包含了許多新增的範例程式、簡報、實驗演練(Labs)教材等,想學習新技術的人不用在等了,趕快下載回去自修吧。

... 繼續閱讀 ...