Mit*_*eat 16
一种方法是使用HttpModule.
从链接(如果它消失):
/// <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 */ }
}
Run Code Online (Sandbox Code Playgroud)
构建HTTP Module类后,您需要在web.config文件的httpModules部分中注册它,如下所示:
<configuration>
<system.web>
<httpModules>
<add name="SecurityHttpModule" type="SecurityHttpModule"/>
</httpModules>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这会将模块添加到Web应用程序的ASP.NET请求管道中.
以下是Microsoft提供的有关如何执行此操作的文章.
按IP地址或域名设置文件夹安全性
Apache使用Allow和Deny指令来确定可以访问特定网站或文件夹的站点.但是,Apache提供自主访问控制; 您必须拒绝所有站点并提供可以访问文件夹或允许所有站点的特定站点或IP地址列表,并仅拒绝您不希望访问的站点.例如,如果使用以下指令,则拒绝所有客户端计算机访问,除非它们被识别为domain.com域的一部分:
拒绝来自.domain.com的所有
允许
IIS的工作方式相同.除列出的客户端外,所有客户都被明确拒绝或授予访问权限.
定义特定文件夹或站点的访问控制
如果要限制整个站点的访问权限,请从左窗格中的不同服务站点列表中选择该网站.
如果要仅限制特定文件夹的访问权限,请单击要控制的文件夹.
注意:如果使用域名限制,则服务器必须为每个请求执行反向DNS查找,以检查主机的注册域名.Microsoft建议您尽可能使用IP地址或网络范围.
小智 8
在IIS 7中,限制IP的最佳方法是使用配置文件.
全文:http:
//boseca.blogspot.com/2010/12/programmatically-addremove-ip-security.html
| 归档时间: |
|
| 查看次数: |
28215 次 |
| 最近记录: |