2 Stimmen

Einschränken des Benutzers basierend auf Geolocation in asp.net mvc

In meiner ASP.NET MVC-App habe ich ein Umfrage-Modell, das von jedem erstellt werden kann. Außerdem möchte ich, dass Personen aus einer bestimmten Region der Welt an der Umfrage teilnehmen (abstimmen) können. Es ist eine einfache Aufgabe, wenn ich den Standort kenne (es könnte eine Stadt, ein Land oder ein Bundesstaat usw. sein). Ich möchte diese Standortbeschränkung zum Zeitpunkt der Umfrageerstellung hinzufügen (d. h. der Benutzer könnte angeben, dass Personen aus Islamabad oder Punjab oder Pakistan abstimmen oder das Umfrageformular ausfüllen dürfen). Außerdem möchte ich hinzufügen, dass die Standortbeschränkung für eine kleine Anzahl von Umfragen (maximal 5 Prozent) gilt, also wie implementiere ich diese Funktionalität am effizientesten.

3voto

Matthew Abbott Punkte 58885

Sie könnten dies auf verschiedene Arten tun:

  1. Bestimmen Sie, woher der Benutzer stammt, basierend auf einer vorherigen Frage nach ihrem Standort. Dies ist jedoch nicht zuverlässig, da der Benutzer leicht sagen könnte, dass er aus einem anderen Ort stammt.
  2. Erhalten Sie eine IP -> Länder Zuordnungsliste, die einen Lookup der IP-Adresse des Kunden im Vergleich zu ihrem Standort bereitstellt. Sie würden die Zugriffe basierend darauf einschränken.

2voto

Paul Mendoza Punkte 5551

Sie können den Standort einer Person mithilfe der IP-Adresse herausfinden. Es gibt viele Dienste, die den Standort anhand der IP-Adresse anzeigen. Sie geben Ihnen eine Annäherung des Standorts des Benutzers basierend darauf.

Hier ist ein Beispiel für den Dienst:

Sie können auch ihren Standort mithilfe der HTML5-Geolokalisierungs-Funktionen erhalten.

Für Ihren Fall ist die Verwendung der IP-Adresse wahrscheinlich ausreichend. Die HTML5-Option ist schön, weil sie sich bei Benutzern ohne GPS-Gerät auf ihrem System letztendlich auf die Verwendung des IP-Adress-Standorts zurückgreift.

Um die IP-Adresse eines Benutzers in ASP.NET zu erhalten, können Sie verwenden:

Request.Servervariables("REMOTE_ADDR")

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X