如何在web.config中阻止整个国家/地区的IP

时间:2016-01-29 18:05:23

标签: c# .net asp.net-mvc visual-studio

对于ASP.NET站点,是否可以使用web.config阻止整个国家/地区的IP?我想出了如何阻止个人IP,但经过研究,我似乎无法找到阻止整个国家的正确解决方案。

3 个答案:

答案 0 :(得分:2)

您可以使用Maxmind GeoIP数据库搜索国家/地区的IP地址。https://www.maxmind.com

与其他免费服务相比,数据库非常准确。

答案 1 :(得分:1)

您无法阻止某个国家/地区,但可以阻止IP范围。这种方法用于大多数"国家块"场景。

从IIS6开始,您可以使用IPSecurity元素阻止IP和IP范围。

但这是非常不准确的,因为IP地址没有固定的映射到某个国家/地区,或者可以通过CloudFlare等服务进行过滤。 动态IP地理定位也在起作用,但往往不准确。

答案 2 :(得分:1)

正如其他人所说,你不能阻止一个国家​​"来自webconfig,但您可以使用subnetmask阻止该国家/地区的IP范围。有关详细信息,请参阅this link

相关代码:

<!--block network 83.116.119.0 to 83.116.119.255-->
<add ipAddress="83.116.119.0" subnetMask="255.255.255.0"/>