1

現在、3 つのファイルをダウンロードした後に訪問者に登録/ログインを強制するスクリプトを作成しています。ダウンロード数を追跡するために Cookie を使用する予定です。

さらに、悪意のある Web クローラーによるコンテンツ ファーミングを防止したいと考えています。Web クローラーが通常の訪問者と同じように Cookie を保存して、ファイルを 3 回以上ダウンロードしないようにすることができるかどうかはわかりません。

Cookie をサポートしていない Web クローラーがファイルを 3 回以上ダウンロードできる場合、訪問回数を追跡する他の方法はありますか?

4

1 に答える 1

0

あなたができることは、ボットを追跡することです..

以下のコードが正確かどうか、ユーザーエージェントが偽造されるかどうかはわかりませんが、これが今のところ私が行う方法です..

//crawler detect
  function crawlerDetect($USER_AGENT) { 

  //array of crwalers and their user agent, format: array('user agent', 'name'),
  $crawlers = array( 
  array('useragen1', 'name1'), 
  array('useragen2', 'name2'), 
  array('useragen3', 'name3'), 
  array('useragen4', 'name4'), //cont..
  );

    foreach ($crawlers as $c) { 

      if (stristr($USER_AGENT, $c[0])) { 
        return($c[1]); 
      } 
    }

    return false; 

  }

  $crawler = crawlerDetect($_SERVER['HTTP_USER_AGENT']);

  if (!empty($crawler)) {

    //we have a crawler, do something

  }

その後、必要に応じて処理できます.ipsでソートするようにユーザーエージェントを変更できますが、それはほとんどの人間の訪問者に影響を与える可能性があります..

于 2013-07-29T03:51:06.813 に答える