2012-03-03 29 views
0

我的應用程序授予權限取決於用戶的位置。如果設備沒有將位置報告回服務器,則其在服務器上的權限不爲空。安全的用戶身份在Android應用程序沒有註冊或登錄

我想使它儘可能黑客安全,以便特權受到設備當前位置的嚴格限制。

如果我能準確識別用戶/設備,可以取得良好進展。如果報告現在在紐約,並且在10分鐘後在洛杉磯(實際上不可能),我可以阻止設備X.

沒有註冊。用戶只需要解開一個驗證碼即可開始使用該應用。而已!

有沒有辦法阻止某人使用Android模擬器冒充20個不同的設備,每個設備都在不同的城市,並且所有的虛假數據都發送到服務器,就好像它們是真正的用途一樣?如果沒有,是否有辦法讓黑客真的很難這樣做?

+0

對於初學者,您也可以在真實設備上進行模擬。首先檢查[ALLOW_MOCK_LOCATION](http://developer.android.com/reference/android/provider/Settings.Secure.html#ALLOW_MOCK_LOCATION)標誌 - 否則人們可以從Market購買一個應用程序,然後按照提及的方法打開系統[這裏](http://stackoverflow.com/a/7033876/967142)。 – Jens 2012-03-03 17:13:55

回答

1

你幾乎不走運。設備總是可以躺在他們的位置。如果您有某種方式向用戶發佈廣告(即我無法繼續註冊免費帳戶),並且可以查看他們是否執行此操作,則可以按照您的說法將其列入黑名單。只要有人「登錄」或首次使用並存儲他們的憑據的東西。你可以嘗試像IMEI號碼一樣使用,如果你有權獲取它,但是我懷疑有人在模擬器中或者說有氰基模塊也可以改變這一點,但這會更困難。

有一個告誡,如果你想要做接近測試說如果兩個朋友彼此靠近,你可以做合理的強密碼保證位置。這可以做到。見this論文。

對於做非常高的安全位置證明的一般不可能性結果,請參閱這個密集的paper。無可否認,你或許可以做一些仍然不平凡的事情,但不容易。

相關問題