2011-04-03 44 views
0

我是一名Web開發人員,我想設計一個商業網站來銷售客戶的產品。出售和購買活動很重要,我需要維護用戶活動信息以保證網站的安全。保存用戶活動

我想寫一個動態網站。我想控制所有用戶活動,然後決定是否將用戶活動信息保存在數據庫中。一些網站的訪問者是註冊用戶,有些是匿名的。我想爲我的註冊用戶保存諸如IP地址,用戶名,頁面名稱和日期/時間等在線信息。

我想知道:

  • 如何保存用戶的IP地址?
  • 我還需要保存些什麼?
+1

您還應該考慮,在某些國家/地區保存用戶活動的完整日誌實際上是非法的。 (在德國,至少這是目前正在進行的辯論的當前話題) – nfechner 2011-04-03 06:58:33

回答

0

我不確定我是否理解您的所有問題......但至少要解決其中的一個方面,如果用戶位於代理之後,那麼您無法確定其真實IP是什麼。這就是整個問題。代理是提出請求並轉發的請求。如果你自己不詢問代理,你無法確定。關於您還需要保存的內容,完全取決於您想要執行的操作,而且您還沒有做好解釋爲什麼您正在保存這些數據。如果你可以澄清一下,或許我們可以幫助你更多地確定你應該保存的數據。

編輯爲解決您的問題,如果您想瘋了,您可以記錄一個人所做的一切。他們點擊的每一個環節,他們觀看的每一個產品等等。我不一定主張,因爲我覺得它有點令人毛骨悚然,但肯定有網站會這樣做。至少,我建議記錄人們看什麼產品,然後購買他們購買的產品。我也會按照會話記錄這些信息。基本上,人們看着什麼產品,然後最終購買與您商店相同的旅程。我不會太擔心「真實」的IP地址。大多數人不會支持代理,而那些代理,無論如何你都無能爲力。

+1

你想要的東西中的大部分可能已經在你的博客中被捕獲,你可以離線處理它們來挖掘你正在尋找的數據。 – 2011-04-03 05:18:54

+0

@jsobo ,優點。你所描述的,除了用戶名,已經在那裏。 – 2011-04-03 05:23:42

+0

用戶名可以存儲在一個cookie中,並且可以很容易地添加到日誌中(至少在Apache的情況下) – 2011-04-03 06:47:44

0

如何保存用戶的IP地址?

$ _ SERVER [ 'REMOTE_ADDR']

更重要的是,我需要拯救?

這是很奇怪的問題。這是你的應用程序,而不是其他人。我們如何猜測你需要什麼信息?

但是,我至少可以指出一個問題:頁面名稱不足以記錄「所有用戶活動」。查詢字符串和POST數據通常包含有關該活動的重要細節。

1

將每個HTTP請求詳細信息保存到數據庫中將適用於流量較低的網站,但在流行網站的情況下您將遇到性能問題,因爲以相對較慢的操作寫入數據庫。

爲什麼不使用服務器HTTP日誌呢?

所有HTTP Web服務器都會創建記錄遠程用戶IP地址,請求URL等的純文本日誌文件。您可以通過編寫自己的腳本或使用日誌文件報告工具來創建活動報告。AWStats(http://awstats.sourceforge.net/)是最受歡迎的開源工具之一。

在客戶端,您可以使用Google Analytics來跟蹤用戶活動。它還提供了手段來跟蹤自定義事件:

_gaq.push(['_trackEvent', 'login', 'user_login', "custom data"]); 

更多信息在:http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html

此選項只有支持JavaScript跟蹤用戶,因此它不會顯示安裝機器人,爬行或有分析阻塞插件用戶。