2009-01-04 80 views
1

我有一個面向web的,匿名訪問的博客目錄和博客,我想跟蹤每個博客帖子收到的瀏覽次數。什麼是在網頁上進行基本視圖跟蹤的最佳方式?

我想保持這種儘可能簡單,精度只需要一個近似值。這不是用於分析(我們有Google),我不想做任何日誌分析來提取統計信息,因爲在這個環境中運行後臺任務非常棘手,我希望數字儘可能的新鮮。

我當前的解決方案如下:

  1. ,簡單地記錄的圖表中的每個的Web控制GET。
  2. 排除使用正則表達式和用戶代理字符串
  3. 爲某些IP地址(已知垃圾郵件製造者)的排斥
  4. 提供用於鎖定了一些職位(當垃圾郵件發送者來爲它)
  5. 的已知網絡爬蟲的列表

這實際上似乎做了一個不錯的工作,但有幾件事讓我煩惱。垃圾郵件發送者仍然會發一些帖子,從而導致觀點不一致。我仍然需要手動監視視圖,更新我的「錯誤」IP地址列表。

有沒有人對我有更好的建議?任何人都知道如何跟蹤StackOverflow問題的觀點?

回答

1

這聽起來像你目前的解決方案其實是相當不錯的。

我們實現了一個地方,其提供的視圖內容的服務器代碼也更新其存儲的網址和觀看計數(實際上爲URL,因爲URL可能會隨時間而改變一個特殊的ID碼)的數據庫表。

這實際上是與用戶撰寫的帖子一個系統,其他人可以發表評論,但它同樣適用於你在哪裏開設職位(如果我正確理解你的描述)的唯一用戶的情況。

我們必須做到以下幾點,以儘量減少(不消除,不幸地)傾斜。

  • 對於登錄用戶,每個用戶只能添加一個視點到帖子。 EVER。沒有例外。
  • 對於匿名用戶,每個IP地址只能在每個月添加一個視點到帖子。由於我們的觀點,IP地址可能會「共享」(NAT等),因此這一點可靠性稍差。我們放寬上述「EVER」要求的原因是出於這種共享原因。
  • 。柱本身被限制在具有每時間週期(週期開始低(比如,10秒)添加一個視點和逐漸增大(到,比方說,5分鐘),使得新訊息被允許更快的累積圖,由於到他們的新奇)。這照顧了大多數垃圾郵件殭屍工具,因爲我們發現他們在創建該帖子後往往會遭受很長時間的攻擊。
  • 刪除一個帖子,或者一個失敗的嘗試繞過CAPTCHA(見下文),垃圾評論的,自動添加該IP黑名單,並減少了觀看次數爲這個職務。
  • 如果列入黑名單的IP在N天內未嘗試留言(可配置),則會將其從黑名單中刪除。這個規則和之前的規則使維護黑名單時的人工干預最小化,我們只需監控垃圾郵件內容的迴應。
  • CAPTCHA。這解決了我們的垃圾郵件問題很多,特別是因爲我們不只是依靠OCR-類的東西(如「這是什麼字 - >‘選擇性’);我們其實問的問題(如」什麼是2乘以一半8?「),其打破啞巴字符識別機器人。它不會打廉價勞動力CAPTCHA斷路器成羣的(除非他們的數學實在是太差了:-)但沒有CAPTCHA的改善是令人印象深刻。
  • 已登陸用戶不須遵守CAPTCHA,但垃圾郵件得到了賬號立即刪除,IP列入黑名單,他們認爲從崗位中減去。
  • 我很慚愧地承認,我們實際上並沒有打折的網絡爬蟲(我希望客戶ISN」 t閱讀:-)說實話,由於我們的IP地址規則,他們可能每個月只增加最少數量的觀點(除非他們擁有多個IP地址)。

所以基本上,我提出以下儘可能改進。當然,你應該總是監控他們如何去看他們是否在工作。

  • CAPTCHA。
  • 根據用戶行爲自動黑名單更新。
  • 限制查看計數從相同的IP地址增加。
  • 限制觀看次數增加到一定比率。

沒有您選擇的方案是完美的(例如,我們的一個月規則),但只要所有帖子遵循相同的規則集,您仍然會獲得較好的比較價值。如你所說,準確性只需要一個近似值。

0

建議:

  1. 從用戶控制成基Page類移動命中計數邏輯。
  2. 將排除列表重新設計爲可動態更新(即將其存儲在數據庫中或甚至存儲在xml文件中)
  3. 記錄所有匹配。在一個定期的時間間隔內,有一個cron作業運行通過新的匹配,並確定它們是包含還是排除。如果您爲每個匹配執行排除,則每個用戶都必須等待匹配邏輯發生。
  4. 拿出一些算法來自動檢測垃圾郵件/機器人,並將它們添加到黑名單。和/或訂閱第三方黑名單。
相關問題