12

ユーザーがリンクをクリックして私の Web サイトでファイルをダウンロードすると、この PHP ファイルに移動し、そのファイルのダウンロード カウンターがインクリメントされ、実際のファイルにヘッダー () リダイレクトされます。ただし、ボットがダウンロード リンクをたどっていると思われるため、ダウンロード数は不正確です。

  • リンクをたどってはいけないことをボットに知らせるにはどうすればよいですか?
  • ほとんどのボットを検出する方法はありますか?
  • ファイルのダウンロード数をカウントするより良い方法はありますか?
4

4 に答える 4

16

robots.txt: http://www.robotstxt.org/robotstxt.html

すべてのボットがそれを尊重しているわけではありませんが、ほとんどのボットは尊重しています。本当にボット経由のアクセスを防ぎたい場合は、GET ではなく POST へのリンクを作成してください。ボットは POST URL に従いません。(IE では、問題の URL に移動するサイトに返信する小さなフォームを使用してください。)

于 2008-10-24T23:14:23.283 に答える
4

Godeke の robots.txt の回答で十分だと思います。ボットをカウンターに絶対に入れられない場合は、いくつかの一般的なロボット ユーザー エージェントでクリックをインクリメントしないことと組み合わせて、ロボット ファイルを使用することをお勧めします。

どちらの方法も完璧ではありませんが、2 つの方法を組み合わせると、おそらくもう少し厳密になります。それが私だったら、簡単でおそらく最も効果的な解決策であるため、おそらくロボットファイルに固執するでしょう.

于 2008-10-24T23:30:46.727 に答える
3

Godeke の言うとおりです。bot がダウンロードしないようにするために最初に行うことは、robots.txt です。

カウントに関しては、これは実際には Web 分析の問題です。www アクセス ログを保持し、WebalizerAWStats (または Webtrends や Urchin などの優れた代替手段) などの分析プログラムで実行していませんか? 簡単で、ユーザーがファイルをダウンロードするときに、PHP、リダイレクト、またはその他のパフォーマンス ヒットがないためです。とにかく保持しているApacheログを使用しているだけです。(そしてgrep -c、特定のファイルまたはワイルドカード パターンの「n」ダーティ カウントを迅速に提供します。)

ボットによるヒット、または特定のユーザー エージェントやその他の基準を無視するように統計ソフトウェアを構成できます (後で基準を変更した場合は、古いログ データを再処理するだけです)。もちろん、これにはすべての古いログが必要なので、logrotate過去のデータがない状態で開始する必要があります。

于 2008-10-24T23:37:59.927 に答える
0

http://www.bad-behavior.ioerror.us/を使用して、robots.txt を尊重しない悪意のあるボットを検出することもできます。

于 2008-10-25T08:30:23.190 に答える