Đối với ứng dụng ASP.NET C#, chúng tôi sẽ cần hạn chế quyền truy cập dựa trên địa chỉ IP. cách tốt nhất để thực hiện điều này là gì?Cách tốt nhất để hạn chế quyền truy cập theo địa chỉ IP?
Trả lời
Trong IIS 7 cách tốt nhất để hạn chế IP là sử dụng tệp cấu hình.
Full bài viết:
http://boseca.blogspot.com/2010/12/programmatically-addremove-ip-security.html
Đâ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ể.
Đâ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 –
phương pháp này cũng cho phép bạn thêm các dãy ip, cũng đẹp. –
Cảm ơn điều này hữu ích +1 –
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.
Đâ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 –
Ví dụ hay. +1 –
khoảng ip là gì? – zerohero
- 1. Làm cách nào để hạn chế quyền truy cập theo địa chỉ IP với Tomcat?
- 2. Hạn chế quyền truy cập vào máy chủ HTTP dựa trên Node.js theo địa chỉ IP
- 3. Windows Azure - hạn chế sự phát tán địa chỉ IP để truy cập WebRole
- 4. Cách tốt nhất để hạn chế quyền truy cập vào trang web phát triển là gì?
- 5. Hạn chế địa chỉ IP cho Cầu tàu và Solr
- 6. Github hạn chế quyền truy cập
- 7. Hạn chế truy cập đến một bộ điều khiển cụ thể theo địa chỉ IP trong ASP.NET MVC Beta
- 8. Một cách để hạn chế quyền truy cập nhánh Git?
- 9. Làm cách nào để hạn chế quyền truy cập JSON?
- 10. Làm thế nào để hạn chế quyền truy cập vào bảng quản trị trong ravendb?
- 11. .htaccess để hạn chế quyền truy cập vào thư mục
- 12. Giới hạn truy cập dịch vụ web asmx đối với các địa chỉ IP cụ thể
- 13. Làm cách nào để cho phép truy cập vào một địa chỉ IP thông qua Nginx.conf?
- 14. Chính sách truy cập tập tin Amazon S3 dựa trên địa chỉ IP
- 15. Hạn chế quyền truy cập dịch vụ WCF chỉ vào localhost
- 16. Hạn chế quyền truy cập vào lắp ráp .NET?
- 17. lớp bạn bè với quyền truy cập hạn chế
- 18. Hạn chế IP với htaccess
- 19. Hạn chế quyền truy cập vào các dự án TeamCity nhất định
- 20. IIS - không thể truy cập trang theo địa chỉ ip thay vì localhost
- 21. Hạn chế quyền truy cập tệp vào người dùng php được ủy quyền
- 22. Hạn chế quyền truy cập Mực vào chỉ một trang web
- 23. Hạn chế quyền truy cập Đăng nhập SQL Server vào chỉ một cơ sở dữ liệu
- 24. Cách cấp quyền tài khoản để truy cập chứng chỉ?
- 25. cách chuyển hướng miền theo địa chỉ IP quốc gia
- 26. Yêu cầu điều chỉnh theo địa chỉ IP trên Apache?
- 27. Sử dụng .htaccess để hạn chế quyền truy cập vào các tệp
- 28. Cách lấy địa chỉ IP từ địa chỉ Mac theo lập trình trên Android?
- 29. Bảo mật WCF bằng địa chỉ IP của khách hàng
- 30. trim địa chỉ ip octet
Một câu hỏi tương tự có câu trả lời mà bạn tìm kiếm ... http://stackoverflow.com/a/6108168/80161 –