ページのあるサイトがあるとします。ページは、閲覧された回数に基づいてランク付けされます。ページが検索結果の上位に表示されるため、上位にランク付けするのは良いことです。したがって、ページの作成者は、その特定のページの表示を増やすためにシステムをゲーム化しようとする場合があります。
では、準正確なカウントを維持しながら、どうすればそれを防ぐことができますか?
私は次の「スキーム」を思いついた:
ユーザーは、セッションごとに1回だけページビューに影響を与えることができます。これは私が通常期待することです。ユーザーが後でサイトに戻ってページを再度表示した場合、別のページビューとしてカウントされます。
問題は、これにより、各リクエストの前にCookieをクリアするスクリプトに対してページビューの増分が脆弱になることです。この問題の最も簡単な解決策は、IPアドレスを保存し、同じIPアドレスでページ数を1回だけインクリメントできるようにすることです。ただし、これにはいくつかの大きな欠点があります。まず第一に、これは潜在的に多くのストレージを占有し、第二に、大規模なLAN上のユーザーがページ数を増やすことを妨げます。最後に、ユーザーはページに再度アクセスして、同じIPからページビューを複数回インクリメントすることはできません。私はそれと一緒に暮らすことができますが、むしろそれなしで生きたいです。
頭のてっぺんから思いつくことができる最善の方法は、最後のX IPアドレスを保存し、これらのIPアドレスの誰もがページビュー数に影響を与えないようにすることです。これにより、(単純な)スクリプトによるページビュー数の増加が効果的に阻止されます。さらに、実際のビューカウントの表示に遅延を追加することをお勧めします(基本的に、「表示」カウントが「実際の」カウントで最後に更新されたときの2つのカウントと日時フィールドを保持します。 SEサイトで)。
これは完璧な解決策ではないので、あなたの提案やコメントを聞いてうれしいです。