首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过IP地址限制访问的最佳方式是什么?

通过IP地址限制访问的最佳方式是什么?
EN

Stack Overflow用户
提问于 2009-01-10 14:23:40
回答 3查看 32K关注 0票数 19

对于ASP.NET C#应用程序,我们需要根据IP地址限制访问。实现这一目标的最佳方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-25 01:27:10

在IIS 7中,限制IP的最佳方法是使用配置文件。

全文:

http://boseca.blogspot.com/2010/12/programmatically-addremove-ip-security.html

票数 8
EN

Stack Overflow用户

发布于 2009-01-10 14:31:48

一种方法是使用HttpModule

从链接(以防它消失):

代码语言:javascript
复制
/// <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 */ }
}

一旦构建了HTTP Module类,就需要在web.config文件的httpModules部分注册它,如下所示:

代码语言:javascript
复制
<configuration>
    <system.web>
        <httpModules>
            <add name="SecurityHttpModule" type="SecurityHttpModule"/>
        </httpModules>
    </system.web>
</configuration>

这会将该模块添加到web应用程序的ASP.NET请求管道中。

票数 17
EN

Stack Overflow用户

发布于 2009-01-10 14:31:07

这里有一个关于如何做到这一点的article from Microsoft

按IP地址或域名设置文件夹安全性

Apache使用Allow和Deny指令来确定可以访问特定网站或文件夹的站点。但是,Apache提供了自主访问控制;您必须拒绝所有站点并提供可以访问某个文件夹的站点或IP地址的特定列表,或者允许所有站点并仅拒绝那些您不想访问的站点。例如,如果使用以下指令,则所有客户端计算机都被拒绝访问,除非它们被识别为domain.com域的一部分:

从所有拒绝

来自.domain.com允许

IIS的工作方式与此相同。所有客户端都被明确拒绝或授予访问权限,但列出的客户端除外。

为特定文件夹或站点定义访问控制

以administrator.

  • Click Start身份登录到Panel.

  • Double-click服务器计算机,指向“设置”,然后单击“控制管理工具”,然后双击“
  • 服务管理器”。
  • 如果要限制对整个网站的访问,请从左窗格中的不同服务网站列表中选择网站。拒绝访问如果您只想限制对特定文件夹的访问,请单击您想要拒绝网站或文件夹的文件夹,然后单击Properties.
  • Click目录安全面板。
  • 如果您想限制对一组特定站点的访问,但拒绝对所有其他站点的访问,请单击
  • 如果您想在默认情况下授予对所有客户端的访问权限,但排除一组特定的客户端,请单击
  • 。单击
  • 更新例外列表中的主机或域的列表,单击添加。
  • 要将单台计算机添加到列表中,请单击单台计算机,在适当的框中键入IP地址,然后单击确定。
  • 要在特定地址范围中添加计算机,请单击计算机组,在适当的框中键入网络的IP地址,为要配置的网络范围键入子网掩码,然后单击确定。
  • 要按计算机标识的域名添加计算机,请单击域名,然后在适当的框中键入域名。
  • 单击属性,键入域名,然后单击OK。
  • 单击OK,然后单击OK。

DNS :如果您使用域名限制,服务器必须为每个请求执行反向查找,以检查主机的注册域名。Microsoft建议您尽可能使用IP地址或网络范围。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/431013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档