6

私はstackoverflow.comのコンセプトに似たプロジェクトに取り組んでいます

たくさんの質問がありますが、質問ごとにページビューカウンターが欲しいです。

質問の数が多く、時間の経過とともに増えるので、データベースを使うのが一番いいと思います。

TABLE Question_Viewsを作成し、 各質問の行を作成すると、非常に簡単になります。

このようなもの。

ID-----Question_ID------Views
1-------23--------------400
2-------24--------------301
3-------25--------------123

しかし、ページカウンターはIPアドレスを考慮に入れていますか?つまり、質問番号23のWebページを開いてから、別の日にこの質問も表示すると、1または2ずつ増加しますか?

そして、IPアドレスを考慮する必要がある場合、このアプローチはちょっと間違っていますか?

4

2 に答える 2

1

もちろん、それは状況次第です。同じユーザーがページを更新して、2つのページビューとしてカウントするようにします?同じページを1時間に2回表示するユーザーはどうでしょうか。または1日2回?

何が必要かを理解しておけば、実装が簡単になります。

また、IPアドレスは何にも使用しないでください。代わりに、HTTPセッションでユーザーを認識してください。

于 2012-12-25T22:02:20.140 に答える
1

簡単そうに聞こえますが、正確なカウンターが好きな場合はそうではありません。
あなたが持っている

  • 既知と未知の両方で、ページを読み取ってインデックスを作成するボット
  • Cookieが無効になっているユーザー、および/またはJavaScriptが無効になっているユーザー
  • ライブpreviouのためにあなたのサイトから画像をキャプチャするGoogleとBing
  • 更新のためにページを何度もロードするユーザー
  • 企業ファイアウォールの背後にいて、共通のIPを持っているユーザー。
  • 動的IP接続を使用しているためにIPを変更するユーザー
  • データを操作しようとする攻撃者。

ちょうど今日、 YouTubeはページビューから何十億もの誤った統計データを削除します!

問題は、何を測定するのかということです。

  1. 訪問?
  2. 訪問者?
  3. ページビュー ?
  4. ユニークなページビュー?

クリック数、訪問数、訪問者数、ページビュー数、および固有のページビュー数の違いは、ビューを測定する方法にとって重要です。

また、それがボットではなく訪問者であるか、カウンターを操作しようとする攻撃者であるかをどのように認識するかについても重要ですか?

1つのアイデアは、そのすべてのパラメーターを追跡し、固有のページビューを表示することです。あるCookieのセッションでページが10回表示された場合でも、1人のユーザーは1つの一意のページビューとしてカウントできます。セッションが期限切れになり、ユーザーが再び来たとき。たとえば、セッションなしで60分後に来た場合は、もう一度カウントします。

そして、ここで難しいのは、すべてのボットと、1つのページを見て移動する「偽のユーザー」を見つけることです。

于 2012-12-25T22:20:59.503 に答える