New Post

Saturday, September 22, 2012

Kỹ thuật rewrite URL là kỹ thuật dùng để che giấu url thật nhằm chống lại khả năng tấn công vào url.

Ví dụ: thật sự bạn cần đưa ra 1 url như sau:
(1) http://www.banhang.com?product.aspx?...tType=Hardware

nhưng thực tế trên thanh địa chỉ của trình duyệt thì phải là:
(2) http://www.banhang.com/Product/Hardware/123 chẳng hạn.

Lúc này RewiteURL đã làm cái việc chuyển đổi (2) -> (1) theo một quy tắc người lập trình quy định.

Ví dụ dưới kèm theo sẽ minh họa cách rewrite những Url aspx thành aspvn

Cách bước thực hiện như sau:


  1. Tạo 1 class có tên là RewriteUrlClass thừa kế từ IHttpModule
    Code:
     using System;
    using System.Web;

    public class RewriteUrlClass : IHttpModule
    {
    #region IHttpModule Members

    public void Dispose()
    {
    }

    public void Init(HttpApplication context)
    {
    context.BeginRequest += Context_BeginRequest;
    }

    private static void Context_BeginRequest(object sender, EventArgs e)
    {
    HttpApplication httpApplication = (HttpApplication) sender;
    string url = httpApplication.Request.RawUrl.ToLower();

    // Nếu là Url ảo như sau"
    if (url.Contains("/default.aspvn"))
    {
    // Thì Url thực mà Server cần xử lý là:
    httpApplication.Context.RewritePath("Default.aspx");
    }

    // Nếu là Url ảo như sau"
    if (url.Contains("/login.aspvn"))
    {
    // Thì Url thực mà Server cần xử lý là:
    httpApplication.Context.RewritePath("Login.aspx");
    }

    // Tùy thuộc vào quy tắt Rewrite mà chúng ta xử lý.
    // Một trong những cách hiệu quả nhất là dùng Regex Expression.

    }

    #endregion
    }
  2. Đăng kývào httpModules trong Web.config như dưới đây:

    Code:
     <system.web>
    <httpModules>
    <!-- BEGIN: MY URL REWRITE -->
    <addname="MyUrlRewriter"type="RewriteUrlClass"/>
    <!-- END: MY URL REWRITE -->
    </httpModules>
    .
    .
    .


    </system.web>
  3. Chạy thử với các url có nằm trong quy tắc rewite RewriteUrlClass trong class có phần mở rộng là aspvn

Tác giả: Ngô Thanh Tùng - Aptech

Download: Click here!

0 nhận xét:

Post a Comment