根据地理位置限制访问网站

时间:2016-12-22 11:43:18

标签: c# geolocation

我想像某些地区,城市和国家/地区一样禁止访问我的网站。我遇到了一些像GeoFencing这样的概念,但我想这只能在Windows手机或Windows 10上实现。我遇到了一些免费的API,可以回复我客户的位置信息。

我正在使用Visual Studio 2015。

我也遇到了HTML5 GoeLocation,它会要求用户允许网站知道他/她的位置;这对我来说还不够好。

我想知道,我们可以研究哪些更好的选择或解决方案?

另外,由于我使用IIS服务器进行部署,我可以在我的情况下使用.htaccess吗?

我在服务器级遇到了这个 IPSecurity configuration 。这是一个可行的选择吗?有人试过吗?

TIA

1 个答案:

答案 0 :(得分:0)

您可以尝试查找用户的位置。

正如您已经发现的那样,您可以通过浏览器请求他们的位置,但这需要征得他们的同意,并且可能不可靠。

可以手动设置位置,对于台式计算机,计算机不太可能连接GPS以提供良好的位置。

另一种选择是在geoip数据库中查找其IP:GeoIP2 City Database Demo

似乎有一个适用于IIS 7+的GeoIP模块,但我还没有亲自尝试过:IIS7 Geoblock Module

,这些方法不可靠,可能会导致不确定甚至是错误的结果。

用户可以拒绝提供他们的浏览器位置,或者用户可以将他们的浏览器位置设置为世界的另一端。

用户使用的是什么IP?如果他们使用VPN怎么样?现在您拥有VPN IP的地理位置。

真正的答案是,您无法可靠地找出最终用户的位置。

<强>的.htaccess

.htaccess是Apache allows configuring security的方式之一。

IIS使用不同的配置方法。

IIS和Apache都要求第三方模块根据地理位置限制访问,并非标准提供。