2011-07-30 5 views
0

ページ上のリクエストをカウントテーブルに挿入する必要があるアプリケーションがありますが、リクエストが実際のユーザーかどうかを確認するには、ユーザーが100万二番目またはこれのようなものでリクエストasp.netで? 注:ユーザーがデータを入力していないため、キャプチャなどを置くことはできません。asp.netでbotを検出しています

答えて

1

クッキーは問題外であるならば、私は、サーバー上での追跡時間をお勧めします。私は、あなたがユーザーを追跡する何らかの方法を持っていると仮定します。それは、Cookieベースまたは認証(サイトにログインしたユーザー)になります。 (ユーザーを追跡することなく、無意味なカウント要求になります)。

これは、各ユーザからのリクエストごとに、あなたは二つのことを追跡することを意味します

  • ユーザーID
  • 彼らは要求を行うとき、彼らはページ

を要求された時間、カウンタをインクリメントします。彼らが別の要求をした場合は、前の要求のタイムスタンプをチェックします。早すぎる場合は、現在の要求を数えません。このメカニズムは非常に簡単に変更して、x秒ごとに1回だけリクエストをカウントするか、1日に1リクエストしかカウントしないようにしても簡単に変更できます。通常のユーザーからの継続的なリクエストを表すタイムスパンで解決する場合は、そのタイムスパン前に発生した要求はすべて経過しています。あるいは、これらの疑わしい要求を記録することもできます。それぞれのリクエストで何らかの種類のデータを送信している場合、疑わしいものについて何も返信することはできません。

+0

いいえユーザーIDを持っていない、たとえば、ビデオカウンターのyoutubeはユーザーIDかどうかを考えますか?私はそう考えていません。たとえ私がタイムスタンプを記録したとしても、私はユーザーIDを持っていません。 – user510336

+0

@user - 少なくともユーザIDは、リクエストが発信したIPである可能性があります。これはやや粗末なものです(複数の人が単一のIPの背後にいる可能性があります)が、リクエストのソースを追跡する方法を提供します。リクエスタは、IPアドレスを隠したり隠したりするにはもう少し手間をかけなければなりません。 – slugster

0

ユーザーエージェントを確認し、要求がWebブラウザからのものかどうかを確認できます。

詳細はthis articleを参照してください。

+1

UserAgentは信頼できるものではなく、要求元のエージェントが望むものであれば何でもかまいません。 – slugster

+0

この情報は偽造できませんか? – user510336

2

私はほとんどのページがこれをクッキー経由で行うか、リクエスタのIPアドレスを保存していると思います。エージェントは偽装されていて、これを行うためのツールがかなりたくさんあります。

HTH

マリオ

+0

しかし、時には多数のユーザーがIPアドレスを共有しています...社内のユーザーのように、すべて同じIPアドレスを使用します。 – user510336

+0

true、クッキーまたはユーザーのログインを使用できます。http://en.wikipedia.org/wiki/Unique_visitorまたはhttp://www.opentracker.net/article/hits-or-pageviews –

関連する問題