【问题标题】:How to block specified IP address programmatically in c#如何在c#中以编程方式阻止指定的IP地址
【发布时间】:2013-09-30 10:56:05
【问题描述】:

我想阻止指定范围的 IP 地址。我将 web.config 文件中的代码编写为:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
  <security>
    <ipSecurity allowUnlisted="false"></ipSecurity>
  </security>
</system.webServer>

这会阻止一切。

但是当我运行这段代码时,没有任何东西被阻塞。

【问题讨论】:

标签: c# asp.net


【解决方案1】:

我建议你看看下面问题的答案,也许它可以帮助你:

“我怀疑你可以在 web.config 级别执行此操作,除非在服务器本身上安装了“IP 和域限制”角色。”

Web.config 500 block ipaddress - Internal server error

即使您没有收到 500 错误,也许您只需要添加:

<clear/>

要取消所有上游限制?告诉我。

编辑:添加说明以在 IIS 7 中使用 IP 地址配置对网站的限制访问

这是一个很好的链接,解释了如何在 IIS 7 中安装“IP 和域限制”,因为默认情况下不安装此功能。如果您不安装此功能,限制将不起作用!

http://linuxwebservertips.in/restrict-access-to-website-using-ip-address-in-iis-7/

按照本指南,一切都会正常进行,如您所见,您也可以添加多个范围限制。

【讨论】:

  • 我也试过这样 这是我在执行页面localhost:1256/ipblocking12/test.aspx 时得到的url 此代码是否适用于本地主机
  • 提供 localhost URL 是没有用的,它只在你的本地服务器上工作。要允许来自本地计算机的请求,您必须编写:&lt;add ipAddress="127.0.0.1" allowed="true" /&gt;
  • 我不想让我需要阻止,如果我使用上面的代码,页面也正在执行。我需要阻止那个页面
  • 如果您使用&lt;ipSecurity allowUnlisted="false"&gt;,则只有列出的 IP 可以访问。
  • 我不想允许任何 ip。我想阻止所有 ip 你能告诉我我需要在代码中做哪些更改
【解决方案2】:

这可能会有所帮助。我在无法访问 IIS 的站点上使用它。它成功地阻止了单个 IP 地址。它可能可以修改为阻止范围。

http://www.hanselman.com/blog/AnIPAddressBlockingHttpModuleForASPNETIn9Minutes.aspx

【讨论】:

    猜你喜欢
    • 2010-12-29
    • 2010-11-09
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2011-02-23
    • 2023-03-27
    • 2011-10-19
    相关资源
    最近更新 更多