水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2010年のえび日記 > 2010年8月 > 2010年8月14日(土曜日)

2010年8月14日(土曜日)

岡崎市立中央図書館のMELIL/CSは5年前でも既に駄目

公開: 2010年8月17日0時55分頃

岡崎市立中央図書館の事件、いわゆるlibrahackの件ですが、岡崎市議の耳にも入ったようで……「librahack事件(岡崎市中央図書館事件) (aiailifeyanase.cocolog-nifty.com)」。

そこで、私も図書館の担当者に聞いてみました。

「中央図書館りぶらに導入した蔵書検索システムは、全国のいくつかの図書館でも使用しているもので、この5年間、特にこのようなトラブルは起こっていない。しかし、コンピュータの技術革新はたいへん早く、今回のようなWebサイトの利用形態などは5年前には想定できなかった。」

とのことでした。

それはないでしょう。「5年前には想定できなかった」などということは、あり得ないと言って良いと思います。

絨毯爆撃で有名だったdloader(NaverBot)Baiduspiderは、2003年の時点で稼働していました。今回問題になったクローラーは1秒に1回以上のアクセスをしないように配慮していましたが、dloaderにはそのような待ち時間はなく、はるかに激しいアクセスをしていました。クローラによる短時間での連続アクセス、それも今回のものよりもっと激しいアクセスが、2003年には既に実際に起きていたのです。

dloaderとBaiduSpiderは極端な例ですが、他にもこのように自動でWebにアクセスするプログラムは多数存在します。クローラーアンテナプリフェッチャなどさまざまな種類があり、ずっと昔から稼働していました。

では、岡崎市立中央図書館ではなぜ今まで死んでいなかったかというと、/robots.txt を置いてクローラーからのアクセスを拒否していたためでしょう。robots.txtの内容については「高木浩光@自宅の日記 - 国会図書館の施策で全国の公共機関のWebサイトが消滅する 岡崎図書館事件(5) (takagi-hiromitsu.jp)」で詳しくレポートされています。このrobots.txtには無意味な記述も大量に含まれていますが、基本的には全てのクローラの全てのアクセスを拒否する指定になっています。

※昔のdloaderはrobots.txtを読まなかったという噂もあるのですが、MELIL/CSができた頃には読むようになっていたのかも。そのあたりは良く分かりません。

機密性があるわけでもない情報に対してrobots.txtでアクセスを拒否するということは、普通はしません。なぜrobots.txt が置かれているのかと言えば、それは置かないとまずいことが起きると分かっていたからであり、おそらくは実際にまずいことがあったから置いたのでしょう。クローラーが来て落ちるということが実際に起きたため、robots.txtを置いて対応したという可能性が高いと思います。

本来であれば、クローラーのアクセスに耐えられるように設計を見直すべきです。というか、普通に作っていればクローラーが来ただけで落ちたりはしないはずです。「この5年間、特にこのようなトラブルは起こっていない」とのことですが、それ以前にはトラブルが頻繁にあって、しかしながら根本的な対応をせずに姑息な手段で済ませてしまった……という経緯があるのではないかと推察します。

今回は、たまたまその姑息な手段が通用しなかったというだけでしょう。5年前にはなかったことが起こったとか、そんな高度な話ではありません。システムには昔からずっと問題があって、その問題が今回たまたま表面化したというだけの話のように思います。

関連する話題: Web / セキュリティ / 岡崎市立中央図書館事件 / librahack

最近の日記

関わった本など