[.NET] Connect(); 的多項宣布:Visual Studio 2015, Visual Studio Community Edition, .NET Open Source, .NET Core Framework, ASP.NET 5

Connect() 研討會在昨晚於 Channel 9 線上開幕,發表了數個 .NET 的未來走向,以及新工具的發表,其中最令人期待的當然就是 Visual Studio 2015,這個代號 VS 14 的新版開發工具,它除了持續性的功能演化外,另一個我們一直在關注的新平台:ASP.NET vNext,正式定名為 ASP.NET 5,這可不是 MVC 5,而是整個平台的版本,而 .NET Framework 本身也分為兩支,一支是原本的 .NET Framework,持續演化並維持與舊版本的相容性,版本號碼為 4.6;另一支則是全新的 .NET Framework,稱為 .NET "Core",這個版本是輕量化的 .NET Framework,所有組件都重新設計,擺脫與 .NET Framework 大多數核心組件的相依性,以作為 Cloud 平台的核心執行引擎,同時它也搭配了 .NET Native 等新一代的執行環境一起釋出,它也是首個正式進軍 Linux 與 Mac 的官方 .NET 平台。

...繼續閱讀 »

[ASP.NET][vNext] ASP.NET vNext @ 2014

今年的 TechEd 2014 North America 可真是豐富又紮實啊,除了 Microsoft Azure 多了一堆新東西外,連 .NET Framework 以及 ASP.NET 也宣布了下一個新的未來版本 vNext,.NET Framework 的部份著重在新一代的編譯平台 (Compiler Platform) Roslyn,新一代的機器語言編譯器 .NET Native 以及新一代的即地編譯系統 RyuJIT。而針對 ASP.NET 的部份則是很恐怖的大幅改版,不是針對功能面,而是針對核心面...

...繼續閱讀 »

[ASP.NET][Security] Covert Redirect Vulnerability

Covert Redirect 是由新加坡南洋科技大學的博士生王靜 (Jing Wang) 所發現的,它是一個在 OAuth 2.0 與 Open ID 驗證之間的一個弱點 (vulnerability),有使用過 OAuth 協定的開發人員應該會有印象,就是 Web 應用要使用 OAuth 2.0 做驗證與授權時,都要給它一個 redirect_uri 的參數,作為接取 code 以作為二次驗證的網址,Covert Redirect 弱點就是利用這個機會來進行攻擊...

...繼續閱讀 »

[Security] HTTP 動詞竄改弱點 (HTTP Verb Tampering)

這是今天有位朋友在 MSN 上問的一個問題,因為我也是第一次看到這個名詞,所以我也上網查了一下,在 Arshan Dabirsiaghi 於 2008 年所發表的 "Bypassing Web Authentication and Authorization with HTTP Verb Tampering" 論文中提到這樣的弱點,但早在 2004 年 Kernelpanik Lab 就已經有研究報告提出這個弱點,主要的原因是在 Web Server 或 Web Application 或 HTTP Endpoint 中,沒有針對 HTTP 動詞 (verb) 去做存取控制所致。

...繼續閱讀 »

[Windows Azure] 讓 ASP.NET 的 Membership, Role 以及 Session State 可用於 SQL Azure 資料庫

Membership, Role 以及 Session State 這三樣是 ASP.NET 2.0 以後其後版本中的重要角色,ASP.NET 內建了數個 APIs 以及預設的 Providers,並透過 aspnet_regsql.exe 在 SQL Server 中可以建立必要的資料庫與表格,供 ASP.NET 應用程式使用。但是,在 SQL Azure 中,這個功能突然不能用了...

...繼續閱讀 »

[Bug 逃走中][ASP/ASP.NET] 移機時,千萬要注意有沒有漏掉的 3-party 元件...

前幾天同事突然跟我求救,原本可以執行的 ASP 程式(你沒看錯,是ASP)在移到新的伺服器後突然不能用了,這樣一來在線上的應用程式全都無法使用,要我去一趟客戶那裡看是有什麼問題,隔天到了客戶那裡後,同事操作了一下重現問題,發現原本 ASP 程式可以收到 request 的內容,但移到新機後,request 全變空白了...

...繼續閱讀 »

[.NET] 產生具有多個值,multipart/form-data 的 HTTP POST 訊息

這個功能是在設計 Facebook Graph API Client Library 時碰到的問題,在 Graph API 中的 Publish_Stream 中有一項上傳相片的功能,這個功能內有一個 message 和 access_token 參數,而原本我們學習的 HTTP 技術本身大多都是沒有混合二進位和字串值的參數,所以當時碰到這個問題時,一時想不到什麼解決方法,後來搜尋到 RFC 2188: Returning Values from Forms: multipart/form-data,這份文件說明了在 HTTP POST 訊息中使用多種格式訊息的作法,它可以用在許多 REST-based API 的系統,它可以混合多種資料格式並一次傳送,當然非文字的資料必須要編碼為二進位字串。

...繼續閱讀 »

[.NET] 使用 HTTP Handler 部署不同作業系統版本的 ActiveX Control

筆者在 ActiveX 控制項開發的封裝部署一文的最後,曾經提到 Windows XP 和 Windows Vista/7 的部署差異,這會讓開發人員需要依照作業系統的不同來撰寫 INF 檔案來自動化安裝,而且還要在網頁中偵測不同的作業系統給予不同的 CAB 檔案,但我們有一些方法來簡化這個部份的處理,讓開發人員可以在不動一行 <object> 宣告下,支援 Windows XP 和 Windows Vista/7 的作業系統環境。其實方法很簡單,只要使用 HTTP Handler 就能做到了。

...繼續閱讀 »

[ASP.NET] ASP.NET 零時差攻擊 &ndash; POET 原理與防禦措施

2010/9/18,由Scott Guthrie在blog上發表的一篇Important: ASP.NET Security Vulnerability的文章,點燃了ASP.NET應用程式的安全防護戰爭,因為受影響的範圍遍及ASP.NET 1.0-4.0所有的應用程式,讓使用ASP.NET開發應用程式的開發人員無一不陷入資訊安全的恐懼之中,在9/18日起的幾天內,許多與ASP.NET技術有關的blog都發出了這個安全性警告,因為這個漏洞在公布的同時,攻擊程式就已經在網路上出現了,這是資安所稱的零時差攻擊(Zero-Attack),零時差攻擊最大的特色就是在系統被修補之前,就有很高的機率被攻擊程式所攻擊(甚至攻陷),因此這個漏洞會在這麼短的時間內受到關注,是有其原因的。

...繼續閱讀 »

[ASP.NET]撰寫自己的 Configuration 區段 Part 3: 自訂組態集合

經過Part 1 和 Part 2 的試練以後,我想你應該已經有一個自己的 Configuration 系統了,而且也用的很開心,終於可以擺脫掉一大堆 appSettings 的噩夢了,而且只要修改 Web.config 的區段就可以變更程式的設定值。但用久了總是會不太對勁,因為目前為止,這些區段都只能獨立存在,而且只有一個。這時可能就會回想以前 appSettings 的好,因為它可以利用 來動態增加項目,不過,這個在你自己的 Configuration 中,其實也是可以做到的。

...繼續閱讀 »

[ASP.NET]撰寫自己的 Configuration 區段 Part 2: 將自己的組態組織成一個 Group

繼前一篇文章:"不要再賴在 appSettings 的屋簷下了,寫個自己的 Configuration 區段吧~" 之後,也許你已經著手,或已經將自己的設定值移到了自己的 section 中,但現在又有一個問題,就是:如果是不用模組的 section,全擠在同一個 section 中很難看,也不容易找。那麼,本文將可以幫助你。

...繼續閱讀 »

[ASP.NET]撰寫自己的 Configuration 區段 Part 1:不要再賴在 appSettings 的屋簷下了,寫個自己的 Configuration 區段吧~

我想,很多寫 ASP.NET 應用程式的人,都會習慣性的把自己的一些設定值放到 Web.config 中的 appSettings 區域中,然後用 ConfigurationSettings.AppSettings (1.1) 或 ConfigurationManager.AppSettings (2.0+) 來取設定值吧,雖然它是很好用沒錯,但是如果設定一多的話,appSettings 區塊會充斥一大堆的設定值,屆時要分也不太好分(一堆不同模組的設定都混在同一區了),因此,若想要寫中大型 ASP.NET 應用程式的人,可能不得不學一下如何設計自己的 Configuration 區段了。

...繼續閱讀 »