謎のUserAgent「1.0」

投稿日:

なんか最近「1.0」というUAのアクセスがひじょーに沢山ログに残ってるんですが、

  • 来訪元IPが異常に多い→通常のクローラーではありえない
  • どう見ても自動で動いてるのにrobots.txt等をまったく見ない
  • 動作は虱潰し系で、リンクを追ってる様子あんまり無し

    →なんかすげぇアヤシイ(たぶんスパムメール用のメアド収拾ツールとかそーゆー類だと思われる)ので、こちらのUAでのアクセスをお断わりする事にしました。

    ということで、

    SetEnvIf User-Agent "^1\.0$" Nazo

    <Limit GET>
    Order allow,deny
    Allow from all
    Deny from env=Nazo
    </Limit>

    と、.htaccessに追記。バイバ〜イ(^_^)/~

    ちなみに^は先頭、$は末尾を表す正規表現(\は正規表現を打ち消すエスケープ。打ち消さない.は「任意の1文字」の正規表現になる)なんで、こう書くと「1.0」以外のUAにはまったく関係ありません。

    迂闊に「1\.0」とか書くと、「1.0を含む全てのUA」に効いてしまうので注意が必要。「GET限定」にまでする必要があるかどうかは謎だけど、まぁ取り敢えず。

    連絡用メールアドレスの表示も、JavaScriptを使ったものに変更しました。以前はエンティティ化してただけだったんすが、最近はロボットが賢くなってエンティティも無意味らしーんで、JSでプログラムを走らせて表示するカタチに修正。

    表示プログラムは公開テンプレート等で確認出来ます。まぁソース見ても(人間には)一目瞭然だけど(^^;)

    結構この「1.0」に関して調べておられる方が多いようなので、追記。

    「虱潰し系動作」ってのは、例えば/A/B/C/D/E.htmlみたいな(深い)階層のファイルにこのロボット(だと思う。確信を持って)がアクセスしてきた場合、

    /A/B/C/D/ → /A/B/C/ → /A/B/ → /A/ → /

    といったように「ディレクトリ構造を遡る動作」を行い、最終的にサーバのドキュメントルートを取得することを言ってます。これがこの「1.0」の最大の特徴。

    もしワタシの想像通りこのロボットがメアド収集を目的としているなら、この動作は理に適ってます。連絡先のメールアドレスは、「ディレクトリ内のファイル」よりも「ディレクトリインデックスとして表示されるファイル」のほうに記述されてる可能性(蓋然性?)が高い。

    また、「1.0に最初にアクセスされたファイル」(←このファイルが自動動作の基点)を見ると、総じて古いファイルのように見受けられます。

    このことからこの「1.0」はリンクを追わない(事前に与えられたリストに従って動いてるだけ)か、リンクをインデックスする速度が極めて遅いロボットかだと推察してます。

    単なる印象ですが、たぶんコイツにリンクを追う機能は実装されてないでしょう。どーも、そこまで高級なプログラムじゃなさげ。