2010-11-03 63 views
3

使用cookie跟蹤用戶而不強制他們註冊的最常見策略是什麼?如何跟蹤我的應用的用戶而不強制他們註冊?

我是否創建訪客帳戶,分配GUID,然後將該GUID值放入其cookie中?有沒有一個更普遍接受的方法來做到這一點?

儘管這是一個普通的web應用程序問題,但我正在使用ASP.NET MVC。

+3

這聽起來對我來說很合理。 – Ryan 2010-11-03 04:56:34

回答

2

正如你所寫,一個流行的解決方案是將GUID發送給cookie內的用戶。 顯然這個解決方案只在用戶啓用cookies的情況下才起作用。

請注意,收到cookie的用戶完全可以讀取cookie的內容。

此外,會話是存儲臨時數據的好地方。 它的持續時間取決於你的網站的配置,如果需要,稍微的工作,它是非常耐用,可以對服務器的內存影響很小(db中的會話)

0

cookie中的guid是一個這樣做的方式。

如果用戶沒有啓用cookie,我想你可以通過另一種方式來創建小哈希(比如bit.ly,j.mp等)並將它們插入到url中。你的所有路由都會被這個散列填充(在請求開始時創建,或者如果已經有一個,則從url中獲取)。

它不完全是最乾淨的方法,但它繞過了用戶沒有啓用cookie並將一個非常小的字符串插入到url的情況。

例如http://example.com/fG3Er/Home/Indexhttp://example.com/Home/Index?guestId=fG3Er其中fG3Er是唯一的訪客ID。

或者,您可以將它作爲查詢字符串追加到每個網址的末尾。無論哪種方式,我絕對支持基於guid的方法,如果用戶不想在您的網站上使用cookie,您可以隨時向他們解釋他們的經歷將會受到損害。您可以始終通過創建一個測試用戶來找出您的用戶中有多少用戶禁用了Cookie,並將其與實際點擊次數進行比較(除非Google Analytics(分析)有確定啓用Cookie的方式 - 不確定)。

+1

但是,插入字符串到URL的方法可能會破壞SEO或緩存。 – 2010-11-04 13:42:05

+0

好點!然而,這兩者都可以被克服。使用查詢字符串應該有所幫助。但我同意他們應該考慮。 :) – 2010-11-04 14:11:45

相關問題