2009-01-10 42 views

Trả lời

8

Đây là số article from Microsoft về cách thực hiện việc này.


Thiết Folder Security bởi địa chỉ IP hoặc tên miền

Apache sử dụng Allow và Deny chỉ thị để xác định các trang web mà có thể truy cập vào một trang web cụ thể hoặc thư mục. Tuy nhiên, Apache cung cấp quyền truy cập tùy ý; bạn phải từ chối tất cả các trang web và cung cấp danh sách trang web hoặc địa chỉ IP cụ thể có thể truy cập thư mục hoặc cho phép tất cả các trang web và từ chối chỉ những trang web mà bạn không muốn có quyền truy cập. Ví dụ, nếu bạn sử dụng các chỉ thị sau, tất cả các máy tính của khách hàng bị từ chối truy cập trừ khi họ được công nhận là một phần của miền domain.com:

deny from all
Allow from .domain.com

IIS hoạt động theo cùng một cách. Tất cả khách hàng đều bị từ chối hoặc cấp quyền truy cập cụ thể, ngoại trừ những khách hàng được liệt kê.

Xác định Access Control for Folder cụ thể hoặc trang web

  • Đăng nhập vào máy tính của máy chủ Web như một quản trị viên.
  • Bấm Bắt đầu, trỏ chuột vào Cài đặt, rồi bấm Pa-nen Điều khiển.
  • Bấm đúp Công cụ quản trị, sau đó bấm đúp Trình quản lý dịch vụ Internet.
  • Nếu bạn muốn giới hạn quyền truy cập cho toàn bộ trang web, hãy chọn trang Web từ danh sách các trang web được phân phối khác nhau trong ngăn bên trái.

  • Nếu bạn muốn giới hạn quyền truy cập chỉ cho một thư mục cụ thể, hãy nhấp vào thư mục bạn muốn kiểm soát.

  • Bấm chuột phải vào trang Web hoặc thư mục, rồi bấm Thuộc tính.
  • Nhấp vào bảng điều khiển Bảo mật thư mục.
  • Nếu bạn muốn giới hạn quyền truy cập vào một nhóm trang web cụ thể nhưng từ chối quyền truy cập vào tất cả các trang web khác, hãy nhấp vào Truy cập bị từ chối.
  • Nếu bạn muốn cấp quyền truy cập cho tất cả khách hàng theo mặc định nhưng loại trừ danh sách khách hàng cụ thể, hãy nhấp vào Cấp quyền truy cập.
  • Để cập nhật danh sách máy chủ hoặc tên miền trong danh sách Ngoại lệ, hãy bấm Thêm.
  • Để thêm một máy tính vào danh sách, bấm Máy tính duy nhất, nhập địa chỉ IP vào ô thích hợp, sau đó bấm OK.
  • Để thêm một loạt các máy tính trong một phạm vi địa chỉ cụ thể, bấm Nhóm máy tính, nhập địa chỉ IP cho mạng trong hộp thích hợp, nhập mặt nạ mạng con cho phạm vi mạng bạn muốn định cấu hình, sau đó bấm OK.
  • Để thêm máy tính theo tên miền được xác định của họ, hãy nhấp vào Tên miền, sau đó nhập tên miền vào hộp thích hợp.
  • Nhấp vào Thuộc tính, nhập tên miền, sau đó bấm OK.
  • Bấm OK, rồi bấm OK.

LƯU Ý: Nếu bạn sử dụng hạn chế tên miền, máy chủ phải thực hiện tra cứu DNS ngược cho mỗi yêu cầu kiểm tra tên miền đã đăng ký của máy chủ lưu trữ. Microsoft khuyên bạn nên sử dụng địa chỉ IP hoặc phạm vi mạng bất cứ khi nào bạn có thể.

+1

Đây là thoải mái và dễ dàng nếu bạn có một danh sách nhỏ địa chỉ tĩnh để chặn hoặc cho phép. Nếu bạn cần một cái gì đó có lập trình, hãy thử câu trả lời của @Mitch Wheat. +1 –

+1

phương pháp này cũng cho phép bạn thêm các dãy ip, cũng đẹp. –

+0

Cảm ơn điều này hữu ích +1 –

15

Một cách là sử dụng HttpModule.

Từ liên kết (trong trường hợp nó bao giờ biến mất):

/// <summary> 
/// HTTP module to restrict access by IP address 
/// </summary> 

public class SecurityHttpModule : IHttpModule 
{ 
public SecurityHttpModule() { } 

    public void Init(HttpApplication context) 
    { 
     context.BeginRequest += new EventHandler(Application_BeginRequest); 
    } 

    private void Application_BeginRequest(object source, EventArgs e) 
    { 
     HttpContext context = ((HttpApplication)source).Context; 
     string ipAddress = context.Request.UserHostAddress; 
     if (!IsValidIpAddress(ipAddress)) 
     { 
      context.Response.StatusCode = 403; // (Forbidden) 

     } 
    } 

    private bool IsValidIpAddress(string ipAddress) 
    { 
     return (ipAddress == "127.0.0.1"); 
    } 

    public void Dispose() { /* clean up */ } 
} 

Khi lớp HTTP module được xây dựng bạn cần phải đăng ký nó trong httpModules phần của tệp web.config của bạn, như thế này:

<configuration> 
    <system.web> 
     <httpModules> 
      <add name="SecurityHttpModule" type="SecurityHttpModule"/> 
     </httpModules> 
    </system.web> 
</configuration> 

Điều này sẽ thêm mô-đun vào đường dẫn yêu cầu ASP.NET cho ứng dụng web của bạn.

+1

Đây là một cách tiếp cận tốt đẹp, đặc biệt nếu bạn thêm trình xử lý phần cấu hình cho các địa chỉ IP được phép –

+0

Ví dụ hay. +1 –

+1

khoảng ip là gì? – zerohero

Các vấn đề liên quan