2015-11-05 47 views
4

我懷疑我們都熟悉Facebook和谷歌之類的檢測方式,如果您使用的是比平時不同的設備,我想知道最可靠的方法是什麼?什麼是最可靠的方式來檢測用戶是否從平常不同的設備登錄?

我說的是'它看起來像你從另一個設備登錄',然後當你確認等,它通常會給你發一封電子郵件,並詢問你是否要信任這個設備或不。

顯然,人們可以設置一個cookie,一個可能會被檢查並記錄每次訪問的cookie,但是當用戶註銷時怎麼辦?我們保留cookie嗎?

除了設置cookie之外,還有其他可靠的方法可以'信任''設備'嗎?或者這是做到最好/最可靠的方法嗎?

+0

@Eric提供了一個很好的答案,我還建議檢查[信息安全社區](http://security.stackexchange.com/)。他們也可能有一些指導 – MrWerbenjagermanjensen

+0

另請參閱evercookie(輕度邪惡) –

+0

如果您在Evercookie中使用技術,請在您的隱私政策中非常小心。沒有適當的披露,公司就被成功起訴,在那裏使用了一些非常有趣的技術。 –

回答

5

檢測設備更改的最可靠方法是創建運行瀏覽器的瀏覽器/設備的fingerprint。這是一個很複雜的話題,100%是正確的,有些商業產品相當不錯,但並不完美。幾年前,我曾在其中一家公司工作過。現在至少有一個開源指紋項目Client JS。我沒有使用它,但它似乎覆蓋了基地。

只是設置cookie不是很可靠,因爲除非您使用試圖重新設置cookie(付費服務)的網絡,否則平均用戶每30-45天就會清除Cookie。即使那些都不是完美的。

只使用IP地址是沒用的。有些設備在短時間內合法擁有許多IP(筆記本電腦在家中,工作和星巴克或大多數移動設備上),而有時單一IP由大量用戶共享(星巴克或公司背後的所有人代理服務器)。

更新您類似的散列碼

思考。

這是一個複雜的話題。我有一個小團隊幾年。我們相當不錯,但即使人們不是故意欺騙你,你也絕對不會100%準確。

  • 如果CPU更改,它可能是一個不同的設備。
  • 相同的物理設備可以有許多用戶代理。設備上的每個瀏覽器都有一個不同的用戶代理,瀏覽器的隱私模式具有不同的用戶代理,而且熵較少。
  • 對於給定的物理設備,字體不會很快發生變化,儘管它不是移動設備上很好的熵源(安裝的字體很少,對於給定類型的設備通常都是相同的)。
  • 操作系統通常是穩定的,直到它突然改變。在你的情況下,如果每個設備在更新到Windows 10時似乎都是新設備,那麼這很重要嗎?
  • 顏色深度將會非常穩定。如果用戶安裝新的圖形卡,則可能會改變。你的情況有關係嗎?

如果您可以接受的想法某些設備是新的,但事實上它們是相同的,反之亦然,這種類似的散列可能適用於您。請注意,您永遠不能使用此類指紋來唯一標識設備,以達到需要確認身份的目的,例如訪問安全數據。做出諸如提供適當廣告的概率決策非常棒。

+0

嗯,客戶端JS有趣的想法 - 我會等待,看看有沒有人有更多的信息一段時間,但它在我看來像指紋似乎是正確的路要走。我猜你會用客戶指紋將請求發送回服務器,並將其與某個地方的存儲值進行比較? –

+0

'用客戶機指紋將請求發送回服務器,並將其與某處存儲的值進行比較。是的。請注意,設備可以隨着時間(或有時很快)而緩慢變化,例如,如果您檢測到已安裝的字體並且用戶安裝了字體包,則指紋會發生變化。商業解決方案有算法來判斷變化是否「足夠大」以猜測它是相同的還是新的設備。同一臺設備上的不同瀏覽器可能會非常棘手。 –

+0

這是一個有趣的想法 - 看起來客戶端JS將客戶端數據哈希到創建指紋,這意味着很難檢測到相似性更改......我不知道什麼算法可以替代它,其中類似的輸入產生類似的「哈希」 –

相關問題