2011-07-20 65 views
2

限制用戶在我的asp.net mvc應用程序我有一個調查模型,可以由任何人創建。此外,我希望來自世界特定地區的人們參與調查(投票)。如果我知道位置(它可能是城市,國家或州等),這很容易。我希望在創建調查時添加此位置限制(即用戶可以告訴伊斯蘭堡或旁遮普或巴基斯坦的人)可以投票或填寫此調查表。此外,我想補充說,對於少量調查(最多5%),地點限制適用(或預期),以便如何最有效地實現此功能。基於asp.net mvc

回答

2

您可以使用IP地址找出某人的位置。有很多提供IP地址位置的服務。他們會基於此給你一個近似的用戶位置。

Here是服務的一個例子:

您也可以使用HTML5地理位置features得到他們的位置。

對於你的情況使用IP地址可能是夠好的。 HTML5選項很好,因爲如果用戶的系統中沒有GPS設備,它最終會回退到使用IP地址的位置。

爲了獲得在ASP.NET中的用戶的IP地址,你可以使用

Request.Servervariables("REMOTE_ADDR") 
+0

對於html-5功能的+1。你可否考慮我對馬修的回答 –

3

你可以這樣做了幾個方面:

  1. 確定用戶從基於一先前的問題詢問他們的位置因爲用戶可以輕易地說他們來自他們不在的地方,所以不是防彈的。
  2. 獲取IP->國家/地區映射列表,該列表將爲您提供客戶IP地址與其位置的查找。你會基於此來限制。
+0

+1對方案2的評論,但100%調查的限制檢查又是如何,而限制只適用於5%的超級限制 –

+0

限制可能是在城市,國家,州等級。在創建調查時以及最終用戶發佈調查時控制這種情況 –