我剛剛學習Ruby on Rails,而且我也是SQLite的新手。這個問題的目的純粹是教育。我知道Google Analytics和其他服務可以實現這一點,我只是想知道如何在Ruby on Rails中完成這項工作。可以將所有的唯一IP地址存儲在SQLite數據庫中,還是有更好的方法?
我有一個小網站,這基本上是一個假的商店(再次,爲了學習的目的)。目前我的數據庫看起來像這樣
| index | item | added_at | updated_at | description | total_clicks | unique_clicks |
的item
,是要出售的物品,added_at
是項添加到店日期,updated_at
是日期的東西改變了一下項目,像description
,這是該項目的描述和total_clicks
是該項目被點擊(或查看)的總次數
所有這些工作,但我想增加一些,我不知道如何處理獨特的訪問者。
每當有人點擊某件物品時,我想遞增我的total_clicks
,但如果訪客是唯一的,我也想增加我的unique_clicks
。
我知道我可以使用request.remoteip
來跟蹤IP,但是如何跟蹤IP是否有什麼獨特之處?將獨特的IP存儲在數據庫中是不是一個好主意?我是否只有一列包含每個IP地址,並在增加之前檢查它?
你想成爲多少準確?這是一個廣泛的領域。公司嘗試了很多工作來識別uniq訪問。從簡單的Cookie開始,然後是超級餅乾,瀏覽器指紋等等。 IP不是唯一的。大多數提供商爲那裏的客戶提供動態IP。或者客戶使用代理服務器等。 – slowjack2k
我想要RoR中最基本的方法。這只是我測試了語言中的事情。基本上,如果我可以從網絡上的兩臺不同計算機上點擊網站上的按鈕,並且它報告兩個獨特的IP ...我很高興(假設該網站在家中,而且根本不在外面) – trueCamelType
如果它不需要是一個IP,我會建議一個永久的Cookie'cookies.permanent [:visit_counted] = true' – slowjack2k