11

ページのあるサイトがあるとします。ページは、閲覧された回数に基づいてランク付けされます。ページが検索結果の上位に表示されるため、上位にランク付けするのは良いことです。したがって、ページの作成者は、その特定のページの表示を増やすためにシステムをゲーム化しようとする場合があります。

では、準正確なカウントを維持しながら、どうすればそれを防ぐことができますか?

私は次の「スキーム」を思いついた:

ユーザーは、セッションごとに1回だけページビューに影響を与えることができます。これは私が通常期待することです。ユーザーが後でサイトに戻ってページを再度表示した場合、別のページビューとしてカウントされます。

問題は、これにより、各リクエストの前にCookieをクリアするスクリプトに対してページビューの増分が脆弱になることです。この問題の最も簡単な解決策は、IPアドレスを保存し、同じIPアドレスでページ数を1回だけインクリメントできるようにすることです。ただし、これにはいくつかの大きな欠点があります。まず第一に、これは潜在的に多くのストレージを占有し、第二に、大規模なLAN上のユーザーがページ数を増やすことを妨げます。最後に、ユーザーはページに再度アクセスして、同じIPからページビューを複数回インクリメントすることはできません。私はそれと一緒に暮らすことができますが、むしろそれなしで生きたいです。

頭のてっぺんから思いつくことができる最善の方法は、最後のX IPアドレスを保存し、これらのIPアドレスの誰もがページビュー数に影響を与えないようにすることです。これにより、(単純な)スクリプトによるページビュー数の増加が効果的に阻止されます。さらに、実際のビューカウントの表示に遅延を追加することをお勧めします(基本的に、「表示」カウントが「実際の」カウントで最後に更新されたときの2つのカウントと日時フィールドを保持します。 SEサイトで)。

これは完璧な解決策ではないので、あなたの提案やコメントを聞いてうれしいです。

4

2 に答える 2

4

防止しないでください:監視して処理します。

私は非常に異なるアプローチを使用します。ページビューを同じままにしますが、ビューゲームを探すためのレポートを用意します。ページがゲーム化された場合、誰が責任を負っているのかを調べ、警告とページビューペナルティを与えることができます。それが続く場合は、それらを禁止します。

于 2011-03-02T17:56:09.947 に答える
2

報告されているブラウザの特性も考慮する必要があると思います。ブラウザのフィンガープリントは以前に行われており、広く知られています。次に、同じユーザーがあなたをゲームしようとしているかどうかを判断するための、かなり高度なヒューリスティックを理解できます。ただし、もちろんブラウザのフィンガープリントを使用していることを公表しないでください。また、シークレットモードは停止しませんが、現在のIP指向の戦略に加えて、従うべきもう1つの考え方を提供しようとしています。

于 2011-03-02T17:45:06.107 に答える