2016-08-13 2 views
0

Ich erstelle eine standortbasierte App, bei der Benutzer die Entfernung zu anderen Benutzern sehen können. Um welche Dezimalstelle soll ich den Längen- und Breitengrad runden, um zu vermeiden, dass Benutzer die Position anderer Benutzer triangulieren können? Ich bin mir nicht sicher, was ein "vernünftiger Grad an Unsicherheit" für die Position eines anderen Benutzers ist.Vermeiden der Triangulation von Hacks an Benutzerstandorten

+1

Wenn Sie die Entfernung zu Benutzern anzeigen, wie können Sie die Triangulation vermeiden? – Harsh

+0

Runden Sie es, bevor ich es auf dem Server des ursprünglichen Benutzers Gerät speichern! Traiangulation war eine Verletzlichkeit in der alten Version von Tinder, um ein Beispiel zu geben. –

Antwort

0

Round Long/Lat, um die Anzahl der Dezimalstellen zu variieren, um einen Fehler zu erzeugen. Hundertstel ist eine gute Antwort, da im Durchschnitt lange/lat Linien sind .69 Meilen voneinander entfernt, wodurch eine durchschnittliche .69x.69 Quadratmeile Fehler.

Sie können auch ein benutzerdefiniertes Geohashing-System verwenden, um Ihre eigenen Formen zu erstellen, um Punkte zu vereinigen. Geohashes sind in der Nähe der Pole besser, weil sie nicht riskieren, dass ihr Bereich auf Null geht, wie das System mit long/lat tut, da die Breitenlinien in der Nähe der Pole nahe null liegen, was dort ein Sicherheitsrisiko für die Triangulation darstellt.

Am Ende des Tages, für eine Verbraucher-App, die niemand an den Polen verwenden wird, scheint das Runden ausreichend.