基于asp.net mvc中的GeoLocation限制用户

时间:2011-07-20 17:45:19

标签: asp.net-mvc asp.net-mvc-3 geolocation ip-geolocation

在我的asp.net mvc应用程序中,我有一个可以由任何人创建的调查模型。此外,我希望来自世界各地的人参与(投票)调查。如果我知道位置(可能是城市,国家或州等),这很容易。我想在调查创建时添加这个位置限制(即用户可以告诉伊斯兰堡或旁遮普或巴基斯坦人)可以投票或填写此调查表。此外,我想补充一点,对于少量调查(最多5%),位置限制是适用的(或预期的),因此如何最有效地实现此功能。

2 个答案:

答案 0 :(得分:3)

你可以通过以下两种方式做到这一点:

  1. 根据询问其位置的上一个问题确定用户所在的位置。不是防弹,因为用户可以很容易地说他们来自他们不在的地方。
  2. 获取IP - >国家/地区映射列表,它将为您提供客户IP地址与其位置的查找。你会根据这个限制。

答案 1 :(得分:2)

您可以使用IP地址找出某人的位置。有许多提供IP地址的服务。他们会根据这些内容为您提供用户位置的近似值。

Here是该服务的一个示例:

您还可以使用HTML5地理位置features获取其位置。

对于使用IP地址的情况可能已经足够了。 HTML5选项很不错,因为如果用户的系统上没有GPS设备,它最终会回退到使用IP地址位置。

为了在ASP.NET中获取用户IP地址,您可以使用

Request.Servervariables("REMOTE_ADDR")