簡體   English   中英

跟蹤使用動態IP地址的移動客戶端的最佳方式

[英]Best way to track mobile clients which use dynamic IP addresses

我需要跟蹤移動應用程序的用戶。 當使用wifi連接它們時,它們具有永不改變的靜態IP地址 - 這使得跟蹤變得容易。 但是,如果他們使用他們的移動網絡,他們的IP地址會在每次請求時發生變化

我有興趣看看其他人如何解決這個問題並在這種情況下實施了合適的跟蹤策略?

編輯:解決方案需要盡可能安全,以防止用戶繞過跟蹤。

謝謝

我假設通過跟蹤你的意思是web服務知道兩個不同的請求來自同一個用戶?

如果是這樣,那么您只需要使用標准的Web工具:會話和cookie。

讓您的應用在啟動時生成唯一ID,並將此唯一ID作為Cookie或變量發送給您對Web服務的每個請求。 這樣你就可以真正唯一地識別它們。

另請注意:Wifi可以在網絡內部為您提供靜態IP地址,設備連接的網絡不在Internet上。 您可以檢索的外部(公共)IP是您的路由器之一。 大多數時候和大多數互聯網提供商一樣,如果由於某種原因連接失敗,路由器將有一個新的IP受其影響。 除非兩個人使用相同的路由器連接到您的Web服務,否則它們將具有相同的公共IP地址。

編輯 :更安全的常用方法是大多數網站使用的方法:用於驗證用戶的UID是由Web服務器(而不是應用程序)在會話的第一次請求/驗證時生成的。 此UID從Web服務器傳遞到應用程序,然后隨每次請求重新發送。 這將“會話竊取”限制為會話持續時間。 不發送數據庫中不存在的UID或UID的請求是非法的。

編輯2 :OP在下面的評論中添加了他真正想要的是限制單個用戶在特定時間內發出的請求數量。 實際上,這意味着唯一地識別設備。 一種方法是首次啟動時在設備上計算UID並將其存儲在設備上。 然后使用每個請求將此UID發送到Web服務。 Web服務將負責限制特定UID的命中數。

注意:請注意如何生成UID。 Android作為Android_ID,但有時會被稱為null並隨着時間的推移而變化。 這家伙似乎找到了一個不容易欺騙的設備UID

您應該能夠使用設備ID: http//developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId ()

編輯:或者在應用首次啟動時創建UUID,此處提供更多建議和信息: http//android-developers.blogspot.com/2011/03/identifying-app-installations.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM