Ограничение пользователей на основе геолокации в asp.net mvc

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

2 ответа

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

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

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

Вот пример службы:

Вы также можете узнать их местоположение, используя функции геолокации HTML5.

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

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

Request.Servervariables("REMOTE_ADDR")
Другие вопросы по тегам