設計具易讀及防護功能的網址 (ASP.NET 4)

by Daphne Lin 7. 十一月 2010 23:11

作者:羅慧真

精誠資訊 恆逸教育訓練中心 資深講師



功能需求

傳統網頁的位置,使用者很容易從網址列窺探一二,對於一般使用者來說可能沒興趣多了解網址與網站結構的關係,但這對於駭客可是很寶貴的資訊。避免網址列暴露網站結構,同時又可讓網址易讀易記,這就是ASP.NET 4 路由(Route)的目的了。

它的原理是這樣的:

clip_image002

透過路由將需求的網址列對應成實際運作的頁面,並將路由參數傳入網頁,網頁收到路由參數後可以透過RouteValue取得路由參數,處理後回應網頁內容即完成。

案例步驟1

首先必須在Global.asax加入一個方法做為註冊路由對應的程序:

void RegisterRoutes(RouteCollection routes)

{

routes.MapPageRoute("Customers", "Customers/{country}/{city}",

"~/DataPages/QueryCustomer.aspx");

}

並在Application_Start事件註冊路由對應:

void Application_Start(object sender, EventArgs e)

{

RegisterRoutes(RouteTable.Routes);

}


案例步驟2

在網站加入一個資料夾取名為DataPages並在資料夾中加入一個Web Form取名為QueryCustomer.aspx。接著在頁面中放入兩個Label控制項,在Page_Load事件取得RouteValue並顯示於Label控制項上。

protected void Page_Load(object sender, EventArgs e)

{

Label1.Text = RouteData.Values["Country"] == null ? "未傳參數" :

RouteData.Values["Country"].ToString();

Label2.Text = RouteData.Values["City"] == null ? "未傳參數" : RouteData.Values["City"].ToString();

}


案例步驟3

開啟Default.aspx頁面放入兩個Hyperlink控制項,第一個Hyperlink的Text設為「日本 - 東京」、NavigateUrl設為~/Customers/Japan/Tokyo、第一個Hyperlink的Text設為「台灣 – 台北」、NavigateUrl設為~/Customers/Taiwan/Taipei。


執行結果:

執行Default.aspx,並按下「日本 - 東京」得到結果如下:

clip_image004

回Default.aspx,並按下「台灣 – 台北」得到結果如下:

clip_image006



可在課程中了解更多的ASP.NET…
相關學習資源︰U1043C# :ASP.NET 4網站開發基礎-Visual C# 2010

                     U1043VB :ASP.NET 4網站開發基礎-Visual Basic 2010

                     U1044C# :ASP.NET 4網站開發進階-Visual C# 2010

                     U1044VB:ASP.NET 4網站開發進階-Visual Basic 2010

Tags:

羅慧真Anita Lo | ASP.NET

新增評論




  Country flag
biuquote
  • 評論
  • 線上預覽
Loading






NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List