1. Trang chủ
  2. » Cao đẳng - Đại học

IIS Web Server - Phần 5 - URL Rewrite in IIS7 with URL

7 23 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Trở lại thư mục Web bạn sẽ thấy Windows sẽ tự tạo ra một file web.config mới với nội dung là các hàm URL Rewrite tương ứng. 5 of 9.[r]

(1)

"Chuyên trang dành cho kỹ thuật viên tin học" CHIA SẺ - KINH NGHIỆM - HỌC TẬP - THỦ THUẬT

IIS Web Server - Part - URL Rewrite in IIS7 with URL Rewrite Module Giới thiệu:

Microsoft URL Rewrite cho IIS 7.0 cung cấp quy tắc linh hoạt nhằm viết lại liên kết website theo dang khác mà đảm bảo nội dung liên kết

* Việc viết lại URL dựa vào HTTP headers server variables * Nội dung trang web

* Sự truy nhập tới nội dung trang web cần kiểm soát

Download Module

Download the x86 CTP version for IIS 7.0: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691

Download the x64 CTP version for IIS 7.0: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692

Để sử dụng URL Rewrite bạn cần chuẩn bị đủ yêu cầu sau: IIS 7.0 & ASP.NET phải enabled;

2 URL rewrite module phải cài đặt 1 Khởi tạo chạy thử URL Rewrite

Để sử dụng URL Rewrite tơi sử dụng ví dụ với trang web ASP.Net Trang web chạy server variables trích xuất kết chúng trình duyệt

Copy toàn nội dung trang ASP.NET vào thư mục %SystemDrive%\inetpub\wwwroot\ file ví dụ article.aspx:

Nội dung đoạn Code:

< %@ Page Language="C#" %>

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>URL Rewrite Module Test</title>

</head> <body>

<h1>URL Rewrite Module Test Page</h1> <table> <tr> <th>Server Variable</th> <th>Value</th> </tr> <tr>

<td>Original URL: </td>

(2)

<td>< %= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td> </tr>

<tr>

<td>Final URL: </td>

<td>< %= Request.ServerVariables["PATH_INFO"] + "?" + Request.ServerVariables["QUERY_STRING"] %></td> </tr>

</table> </body> </html>

Sau copy xong bạn vào http://localhost/article.aspx để test thử

2 Tiến hành URL Rewrite

Trong hướng dẫn bạn Rewrite link đại khái trang Vnexpress.net , Vietnamnet.vn … có dạng bên dưới:

http://localhost/article/342/some-article-title

sẽ hiểu link:

http://localhost/article.aspx?id=342&title=some-article-title

Chúng ta sử dụng URL Rewrite UI IIS Manager Bạn làm theo bước:

Vào IIS Manager

Chọn "Default Web Site"

2

Trong Feature View chọn "URL Rewrite Module"

(3)

Trong mục "Actions" bên phải chọn "Add rule…"

Đến ta có cách để Rewrite trang Web:

Cách 1: chọn User friendly URL

(4)

Sau nhập chuỗi article.aspx?id=123&title=abc vào ô friendly URLs

Chú ý 123 đại diện cho Request số abc đại điện cho Request chữ bạn thay 123 số tương tự với abc bạn thay abc chuỗi ký tự

(5)

Nhấp vào Edit Rule ta thấy chi tiết giá trị Rule bạn tùy chỉnh lại giá trị

Trở lại thư mục Web bạn thấy Windows tự tạo file web.config với nội dung hàm URL Rewrite tương ứng

(6)

4 Sử dụng URL Rewrite Redirect:

Với cách bạn dễ dàng chuyển trang URL Rewrite ví dụ bên http://localhost/blog/some-other-title/543

sẽ chuyển đến:

http://localhost/article/543/some-other-title

Cách cấu hình tương tự có số thay đổi khác chút: Ơ Name bạn nhập: "Redirect from blog"

Ô Pattern nhập: "^blog/([_0-9a-z-]+)/([0-9]+)"

Mục Action chọn là: "Redirect"

Ô Redirect URL nhập là: "article/{R:2}/{R:1}"

(7)

http://localhost/blog/some-other-title/323 Bạn thấy chuyển đến trang

http://localhost/article/323/some-other-title

5 Ngăn chặn truy cập trực tiếp:

Quy tắc thứ ba mà giới thiệu đến bạn dùng để ngăn chặn yêu cầu tới trang web u cầu khơng có định nghĩa URL Rewrite Kiểu quy tắc hữu ích bạn muốn ngăn ngừa nỗ lực hacker muốn tìm cách truy cập trực tiếp file nhằm khai thác lỗi

SQL Injection

Mở file web.config chèn thêm đoạn code sau vào: <rule name="Fail bad requests">

<match url="."/> <conditions>

<add input="{HTTP_HOST}" pattern="localhost" negate="true" /> </conditions>

<action type="AbortRequest" /> </rule>

Bạn cần phải viết lại sau: <rewrite>

<rules>

<rule name="Fail bad requests"> <match url="."/>

<conditions>

<add input="{HTTP_HOST}" pattern="localhost" negate="true" /> </conditions>

<action type="AbortRequest" /> </rule>

<rule name="Redirect from blog">

<match url="^blog/([_0-9a-z-]+)/([0-9]+)" />

<action type="Redirect" url="article/{R:2}/{R:1}" redirectType="Found" /> </rule>

<rule name="Rewrite to article.aspx">

<match url="^article/([0-9]+)/([_0-9a-z-]+)" />

<action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" /> </rule>

</rules> </rewrite>

Kết luận

Trong viết hy vọng bạn hiểu để định hình URL Rewrite có quy tắc áp dụng chúng sao, cách sử dụng IIS Manager windows hay việc tay soạn thảo file web.config

Chúc bạn thành công!

OK vừa trình bày xong phần URL Rewrite IIS7 với URL Rewrite Module

Công ty TNHH đầu tư phát triển tin học GC Com Chuyên trang kỹ thuật máy vi tính cho kỹ thuật viên tin học

Điện thoại: (073) - 3.511.373 - 6.274.294

Website: http://www.gccom.net

Ngày đăng: 09/03/2021, 05:42

Xem thêm:

TỪ KHÓA LIÊN QUAN