Ограничение пользователя на основе геолокации в asp.net mvc - PullRequest
2 голосов
/ 20 июля 2011

в моем приложении asp.net mvc у меня есть модель опроса, которую может создать любой. Более того, я хочу, чтобы в опросе участвовали (голосовали) люди из определенной части мира. Это простая работа, если я знаю местоположение (это может быть город, страна или штат и т. Д.). Я хочу добавить это ограничение местоположения во время создания опроса (т. е. пользователь может сказать, что жители Исламабада, Пенджаба или Пакистана) могут проголосовать или заполнить эту форму опроса. Более того, я хочу добавить, что ограничение местоположения применимо (или ожидается) для небольшого числа опросов (максимум 5 процентов), так как наиболее эффективно реализовать эту функцию.

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Вы можете сделать это несколькими способами:

  1. Определите, откуда пользователь, на основании предыдущего вопроса, спрашивающего его местоположение. Не пуленепробиваемый, так как пользователь может легко сказать, что они откуда-то не такие.
  2. Получите список сопоставления IP -> Страна, который предоставит вам поиск IP-адреса клиента и его местоположения. Вы бы ограничить на основании этого.
2 голосов
/ 20 июля 2011

Вы можете выяснить чье-либо местоположение, используя IP-адрес.Есть много услуг, которые предлагают местоположение IP-адреса.Они предоставят вам приблизительное местоположение пользователей на основании этого.

Здесь является примером службы:

Вы также можете получить их местоположение с помощью геолокации HTML5 функции .

Для вашего случая, вероятно, достаточно использовать IP-адрес.Опция HTML5 хороша тем, что, если у пользователя нет устройства GPS в его системе, он в конечном итоге возвращается к использованию местоположения IP-адреса.

Чтобы получить IP-адрес пользователя в ASP.NET, вы можете использовать

Request.Servervariables("REMOTE_ADDR")
...