自分自身のためのものづくりメモ突っ込みなどがありましたら掲示板にお願いします。#RandomNoteRandomeNoteの検索履歴が、またかき回された。犯人はBecomeBot。64.124.85.0/24http://baku.homeunix.net/WiKi/rnx/index.rb?1171846535.txt...にて排除していたのに。サーバ変更で色々再構築して、ついでに.htaccessの使用は最小限に抑えたためだ。さようなら、BecomeBot。無神経な根こそぎGetの馬鹿やろーっ!RandomNoteの検索履歴をしっちゃけめっちゃかにかき回していきやがって...。こっち側で対策するべきことではあるが、どうやって区別したものやら...。あと、根こそぎ巡回するのは別にかまわないのだが、秒間2アクセスとかは勘弁してくれ。これは問答無用でツールとその利用者が悪い。...って、ログを調べるとUAを色々変えつつ(詐称?)766回のクエリかよ...。悪意はないんだろうけどその無神経さは許容範囲の外だな...。ま、ここまで無神経なアクセスは滅多にないので、対策はべつにいいか。2008年1月12日追記zia-httpmirrorの作者と利用者のばかやろーっ!!!上に書いたのよりはマシだけど、履歴が滅茶苦茶になるのは同じだ。「超整理法」的に出番が多いのが上になっていたのに。いじって、/から閉め出すことにした。上に書いたようにこーゆーのは滅多にない、けど、時々は確実にあるんだよな...。#掲示板spam対策googleやらyahooやらmsnやらが、入れ替わり立ち替わり、smode=sumやらsmode=countやらcmd=editやらのついたページを、別々のものと見なしてGETしていく。こっちにもあっちにも無駄な負荷がかかる、とても不幸なことだ。対策として、それらへのリンクをformにしてみた。検索エンジンは、いくらなんでもsubmitしないだろうから、無駄にリンクを辿らなくなると期待。spam投稿用クローラが心配。textもtextareaもないのにPOSTする馬鹿がいるかもしれない、と危惧している。ロボットの類相手では、cmd=editとかsmode=hogeとかあったら、404を返すようにした既にsmode=hogeとかのページのurlが記録されていて、リンクが無くなっても読みに来る。ロボットの類相手にそれらのページは404を返すようにした。ロボットか?の判断は、user_agentにhttp:が入っているかどうか。ロボットなどに対して、サイドバーを渡さないようにした検索の邪魔だよね。本文にないキーワードがあるのは。ロボットに送るデータ量が減るという恩恵もあった。無駄なデータが減るのは、互いにとって有益だ。後述のように、GETでspamを投稿を試みるロボットがある。そのようなリクエストにより、OR検索が行われ、最近の検索ワードがめちゃくちゃになる。...というわけで、とりあえず、超やっつけで対策。end検索用の文字列が32文字以上なら、何も処理を行わずに終了する。#Web2007/09/23久々に、RandomNoteをspam投稿ロボットが引っかき回していった。対策が必要とは思ってるのだけど、たまにしかないし、投稿その物はBASIC認証で弾かれるしで、面倒なので1年以上放置してる。後述のような感じで、2時間半にわたり、GETとPOST合わせて800回以上のアクセスを行う酷いロボットだった。401で弾かれているのに延々と試行するのは無駄で、馬鹿なプログラムだと思う。ふつー、エラーが出たらとっととあきらめて他の無防備なBBSとかblogとかWikiを探すよう組むと思う。64.124.85.0/24#Web再び、BecomeBotに検索履歴をかき回されたので、.htaccessにて排除することにした。BecomeBot締め出しhttp://baku.homeunix.net/WiKi/rnx/index.rb?1138996756.txtにてのけ者にしたはずなのだが、BecomeJPBotは別物というわけか。ちなみに、robots.txtは最初にちゃんと読んでる。http://www.become.co.jp/site_owners.htmlは「お客様が指定されたページは見つかりませんでした。」だったり、かなり感じ悪い。その辺の食い違いも感じ悪いぞ)また、他の多くのクローラの挙動と違ってリファラを送る点で、RandomeNoteの敵。人とロボットを区別したいまたRandomNoteの検索キーワードがかき回された。今度の犯人は、おそらく先読みプログラムの一種。UAはIEを名乗っているので、種類は不明。ix86)"を名乗るUAがものすごい勢い(秒間数アクセス)で根こそぎ(RandomNoteの項目まで)さらっていった形跡があった。検索してみたところ、GetHTMLWとのこと。゙ー、俺、昔使っていたよ...。ダイヤルアップ時代ならともかく、数メガbps当たり前の今日日動かすと恐ろしいことになるのだな。サーバへの負荷を軽減する為の措置です。ことだけど、使用者は古いのを使っていたようだな。プロキシモードで一度見た記事をため込んで使う分にはとても便利で有用なソフトだと思うのだけど、まるごと取得は勘弁。いうわけで、ちゃんとrobots.txtは読むので、一部動的ページからお引き取り願うことにした。4.12以前は丸ごとお引き取り願うべきかなー。RandomNoteのrefererを検索エンジン(等)に登録させないアクセスログを眺めてたら、RandomNoteのrefererページに検索エンジン経由でのアクセスがあった。Webページでの披検索語の表示は迷惑極まりない。その単語が更にCGIに登録されて、それを検索エンジンが拾って、その単語で検索した人がアクセスして...。俺自身が大嫌いな要素なのに自分がやらかしていたとは...なんてこった...。いうわけで、ざくざくとRandomNoteをいじった。コードにヘッダにロボット避けを入れる機能があるので、refererの表示の際にはそのようにするように変更。検索エンジンにリンク元が登録されると邪魔あと、cahge_logも検索エンジンにインデックスされるべきじゃない。今度はgooのichiroが検索ワードを引っかき回していった。検索ワードによるリンク先にアクセスするとその単語がageられるけど、ロボットにかき回されると困る。...が、ロボットによるアクセスだけをうまく制限する方法が思いつかない。他の人にも役に立つかもしれないメモ帳を目指しているので、ロボットの完全排除は論外だし...。思いつくのは、UAを見てロボットだったら記録に残さないように改造すること。ブラックリスト方式だから、最初にリストを作るのがやや面倒で更に新手が増えるたびにリストを更新する必要があるのが面倒だぁ。対策として、ichiroとかはRefererが空なので、Refererがnilな場合は検索ワードを追加しないようにした。nil2006/02/09:今度はmsnbotが引っかき回していった。対策をミスっていたのが発覚し訂正。cgi_refererはリファラ無しの場合はnilなのだな。/RandomNoteの検索履歴をしっちゃかめっちゃかにしていきやがったBecomeBotをルートから締め出し。せ日本語読めないんだから、その方が互いに資源の節約だ。RandomNoteはロボットに検索させないようにしているようなんだけど、BecomeBotはmetaを解さないらしい。+http://www.become.com/site_owners.html)"robots.txtを読んで去っていった。その辺は行儀がいいな。