0

URL、参照コード、セッション、時間などをログに記録することでページビューの非常に基本的な追跡を行っていますが、ロボット(Google、Yahooなど)が攻撃されていることがわかりました。これらの統計を除外するか、ログに記録しないのが効果的な方法は何でしょうか。

ロボットのIPリストなどを試しましたが、これは絶対確実ではありません。

ロボットを「だまし」たり、人間以外の操作を無視したりできる、robots.txt、htaccess、PHPサーバー側コード、javascript、またはその他の方法はありますか?

4

4 に答える 4

1

それはあなたが何を達成するかによります。検索ボットが特定のパス/ページへのアクセスを停止するようにしたい場合は、それらをrobots.txtに含めることができます。正常に動作するボットの大部分は、それらを攻撃するのをやめます。

ボットにこれらのパスのインデックスを作成させたいが、レポートに表示したくない場合は、フィルタリングロジックを実装する必要があります。たとえば、すべての主要なボットには、非常に明確なユーザーエージェント文字列があります(たとえば、Googlebot / 2.1)。これらの文字列を使用して、これらのヒットをレポートから除外できます。

于 2009-08-17T00:43:39.163 に答える
1

追加するだけです-インターフェース内で使用できる手法は、Javascriptを使用して、特定のユーザーインタラクションビュー/カウンターの増分につながるアクションをカプセル化することです。非常に基本的な例では、ロボットは従うことができません。

<a href="javascript:viewItem(4)">Chicken Farms</a>

function viewItem(id)
{
    window.location.href = 'www.example.com/items?id=' + id + '&from=userclick';
}

これらのクリックを追跡しやすくするために、次のようなリクエストが発生する場合があります。

www.example.com/items?id=4&from=userclick

これは、何かが「クリック」された回数を確実に追跡するのに役立ちますが、明らかな欠点があります。もちろん、それは実際に何を達成しようとしているかによって異なります。

于 2009-08-17T00:58:31.720 に答える
0

ロボットはすべて特定のユーザーエージェントを使用するので、それらの要求は無視してかまいません。

ただし、robots.txtを使用して、訪問を拒否した場合も同様です。それもうまくいくでしょう。

于 2009-08-17T00:40:04.800 に答える
0

ウィールを再発見しないでください!

現時点での統計ツールは、ロボットの要求をフィルタリングします。共有ホスティングを使用している場合でも、AWSTATS(オープンソース)をインストールできます。サーバーにソフトウェアをインストールしない場合は、ページの最後にスクリプトを追加するだけでGoogleAnalyticsを使用できます。どちらのソリューションも非常に優れています。このように、エラーをログに記録するだけで済みます(500、404、403で十分です)。

于 2009-08-17T00:46:51.667 に答える