求む!PC向けとスマートフォン向けを同じHTMLでうまいこと出しわけるCSSの基本思想

手札にあるデザイナがほぼ全員Media Queriesってナンデスカ?状態でしかなくてもう困っておりましていやはやまったく。

ガラケー?もう無視の方向で。

librahack事件:やはり何にもわかってなかった岡崎市立中央図書館

本質を見ることを知らず問題解決能力がゼロの小役人として大変模範的な文章だと思います。 ちなみにrobots.txtがこんなふうに書いてあるのでGoogleやYahooではこの文章はひっかからないようになっている。

岡崎市立中央図書館のホームページへの大量アクセスによる障害について

平成22年3月から4月にかけて、新着図書データベースへの大量アクセスがあり、中央図書館のホームページ(蔵書の詳細情報)につながらない、又はつながりにくい事態が、何度も発生していました。市民の方からその旨のお問い合わせをいただくことも何度かありました。

図書館が導入しているコンピュータシステムのソフトウエアを開発した会社に連絡し、調査したところ、本を検索したり予約したりする一般利用とは異なり、短時間に大量のアクセスが行われていることがわかりました。これによって、それまでは問題なく閲覧できていた図書館のホームページが閲覧できない現象がたびたび発生していたということですが、誰が何のために行っているのか不明なため、図書館も対応に苦慮していました。

しかし、このような状態を放置しておくことは、より多くの方にご迷惑をかけることになるので、警察に、このような事例が他にも存在するのか、犯罪性はあるのか、また相談窓口はないか、といったことについて相談し、最終的には被害届を提出しました。

その後の捜査により、大量アクセスを行った人物が逮捕され、報道によりますと、起訴猶予処分となっているとのことです。

このコンピュータシステムは平成17年に導入しましたが、その時点で自動プログラムを用いて短時間に大量の図書データ情報を入手できるような事態は、想定していませんでした。今回の事例により、そのような情報入手の方法があることを認識し、本年7月、大量アクセスに対応できるよう、コンピュータシステムの改善を行ったところです。

ホームページは誰にでも開かれています。もちろん事前の申請の必要もありませんが、利用者の方におかれましては、情報収集のために使われる手段が、他の利用者に迷惑をかけていないかどうかについて、ご配慮をお願いいたします。

 なお、平成23年1月初旬には、サーバーの入替を主とするシステムの更新を行います。これにより、図書館業務の機能強化を行うとともに、今回のような、大量アクセスへの対応はもちろんのこと、市民の皆さんの使い易さの向上を図ってまいります。

平成22年9月1日

岡崎市立中央図書館

まず第一に、おかしな理由で逮捕されて20日間拘束された、自分の図書館の利用者に対する気づかいがまったく見あたらない。「報道によりますと起訴猶予処分に」とか言うんなら、「報道によりますとMDIS(三菱電機インフォメーションシステムズ)が作ったシステム側に不具合がありまして」も一緒に書けよそこの保身ハゲ。

そればかりか、クッキーを食わないブラウザでシリアルに繰り返しアクセスするだけで死ぬような超ウルトラ低品質なWebアプリをMDISから売りつけられていたという現実をまるで理解できてない。

平成17年(2005年)にはこんな使い方は想定してなかった?!?! おいおいおいおいおい、ここ4,5年、アプリの修正の必要性をMDISに知らされてなかった件はどうなったの?

そもそも2000年あたりから検索エンジンのロボット(もちろんクッキーは食わない)はウヨウヨあったよすでに。今でも同じ。 えっ?robots.txtでどうにかなると思ってた?MDISの中の人はよくそんなこっぱずかしい言い訳できたもんだな。警察にログ出すついでに始末書と辞表もだしとけよ。

何度でも言うけど、ITの素人に最初から理解しろというのには無理のある事案ではあるものの、ことここに至っては、全ての関係者は何が起きたのかを客観的に正確に把握する義務が必ずある。

MDISに首輪つけてもらって末永く禄をクソを食んでください。

see also

メールアドレスのドメインのチェックはMXレコードだけじゃなくAレコードも見ないとダメ。

ずいぶん前に、聞かれたことがあったので。

とあるWebサービスのとある利用希望者が、「俺のメールアドレスは taro@hogehoge.example.com なんだが、ユーザー登録しようとすると、メールアドレスが間違ってるぞと言われる、なんでや!」というクレームをつけてきたんだそうな。

調べてみると、hogehoge.example.com でDNSのMXレコードが確かに引けない。んで、会員登録画面のアプリはメールアドレスの正否を確認するためにMXレコードの有無判定を実装しているんだと。 「これってこのユーザーがバカ自分のメルアドを覚え間違ってるんですよね!」とか言うもんで、これはと思って調べたら、案の定、hogehoge.example.comはMXでは引けなくてもAレコードは設定されてた。 「そのユーザーは悪くない。Aレコードも引くように実装しなかったお前が悪い」と伝えた。

例えば、PHPのPEARのValidateパッケージにもメールアドレスの正否確認用のメソッドがあるのだが、そこではドメイン部分についてはMXレコードとAレコードのどちらかの存在チェックをもってよしとしている。 [svn] Contents of /pear/packages/Validate/trunk/Validate.php583行目あたり。 perlのcpanのEmail::ValidMail::CheckUserとかでも同じ。

巷の解説書やらなんやらには、メールアドレスのドメインに対してはMXレコードというものを設定してどうの、、、と書かれているだけのものが大半なので、そう覚えてしまっている人もいるらしい。

確かに一般的なメールアドレスはそのドメインとそのMTAとなるマシン(群)とがMXレコードによってひもづけられている。しかし、MTAとして稼動しているマシンのFQDNそのものをメールアドレスのドメイン部分に使っているメールアドレスは多くもないけど珍しくもない。大昔のインターネットではそっちのほうが多かったし、今でも自宅サーバとかではAレコードの設定だけでやってるケースはありうる。

see also:

楽天の社内では「重要なので日本語で失礼します」が流行語?

2010年8月某日現在の検索結果のキャプチャがこちら

重要なので 日本語で 失礼 - Twitter Search

see also:

librahack事件について、新たなファイナルアンサーが見出されたようです。

三菱電機インフォメーションシステムズ(MDIS)がクソだったってことでファイナルアンサー」の続きです。 新たなファイナルアンサーってそれファイナルじゃねえとかいう細かいツッコミはスルーです。 それに技術的な新ネタは一部しかありません。エンジニアの皆さんは過度に期待しないように。

1. 図書館長「了解求めないアクセスが問題」という朝日の見出しについて

とか言っちゃいけません。 この朝日の見出しには(とその反応にも)若干の揚げ足取りが含まれていて、 図書館長さんは「人間がマウスをクリックしてアクセスする以外の特殊な方法でうかつに多数のアクセスを浴びせてくれるな」ということを言いたかったのであろう。

しかし、現実に起きたこと=図書館長が言うところの「多数の(繰り返しの)アクセス」=が実は21世紀以降の技術水準からすると常識的なレベルなのにそれすらさばけないほどアプリの品質が悪かったのだ、という事実を前にすれば、やはり失笑なのである。

そもそもITの素人に分かるレベルをやや超えている事案であることは少なくとも業界人はわかっており、その意味では図書館側の責任なんて誰も問うてないんだが、館長さんは身を守らなきゃと思っちゃったのかねえ。 (アホな後追いマスコミがなんて責め立てたかはしらない)

2. 一方、図書館の中の人による、一見すると無関係なつぶやき

注:こちらの人が、岡崎市の図書館の人なのか、それとも岡崎市の図書館と同じシステムを使ってる別の図書館の人なのか、どちらかは不明。

なお、こちらの方が、librahack事件について筆者が7月に書いたこの記事(に大きく張ったリンク)を読んだうえでこの発言に至ったのかどうかなんて定かではないしそこはどうでもいい。(笑)

重要なのは、エンジニアの方ならすぐ理解したと思うが、つまり 入力された検索キーワードに含まれる、SQL文的な意味での特殊文字に対するエスケープ(無害化)処理がなされていなかった疑いが濃厚なのだ。 (なお、現在は改修されていると思われる)

これは検索機能として致命的な不具合であるばかりでなく、SQLインジェクション脆弱性があった可能性を示唆しており(←ああ、すいません、これは言いすぎでした)、性能どころの騒ぎではない。 いずれにせよWebアプリケーションの品質としては夏祭りのテキヤのミドリガメと同レベルである。

3. とんでもなく低品質なモノをMDISに売りつけられていたという現実を受け入れることができない人々

MDISが図書館に売っていたのは今回問題になった外部向けの蔵書リスト公開サイトだけではもちろんない。本にRFIDタグを埋め込んだりそれの読み取り機を設置したりその他もろもろ特殊なハードウェアまですべて含めた「図書館システム」である。 おそらく、蔵書の仕入れ、保管、貸し出し、返却などの他の部分の満足度は高かったのだろう。

が、何の罪もない図書館の利用者の一人が警察に逮捕されたという結果の前に、そんな満足はすべて吹き飛ばされてしかるべきだろう。違うというなら留置場に20日間入ってみろ。 もちろんこのあたりの責任は図書館やMDISというよりは警察にある。

不本意に逮捕され、20日間拘束され、連日反省しろ認めろと精神的拷問を受け、当直弁護士には匙を投げられ、マスコミが大本営発表を全国に垂れ流し、家に身重な妻がいる状況で起訴猶予をチラつかされたら、俺なら100%心が折れる。これは自信をもって言える。 #librahack

しかしそれにしたって、話がここまで進んでもなお、とんでもなく低品質なモノを三菱電機インフォメーションシステムズから売りつけられていたという現実を図書館の中の人として自覚できていない責任は、重い。どうせ保身と責任転嫁に走るなら「コンピュータの素人である自分じゃどうしようもなかったから業者と警察に任せたんだ」って言っとけばよかったのにね。

見方を変えると、システムのユーザーとしては大した飼いならされっぷりであり、逆に他のSI事業者の営業さんはMDISの営業を見習うべきかもしれない。

4. 図書館の中の人と朝日の神田記者のツイッターから見えてくる IT版ストックホルムシンドローム

注:下記の図書館の中の人によるツイートはすべて、朝日の記事が出る前です

次、朝日の神田記者のツイート

それにしてもIT版ストックホルムシンドロームという分析(しかも朝日の報道前)は秀逸(笑)。

個人的にこれに加えたいのが、 「彼(彼女)を否定することは、彼を信じてきた今までの自分と自分の行動を否定することだ」 ←これ、セルカンネタでも出した、詐欺師(とまでは今回は言えないけど)や今まで長いこと信じてきた人やモノに裏切られた人間が最初に感じてしまう、精神的自己防衛反応。館長さんの反応はこれに近いものも感じる。

5. 結論

もう書いたけど、大切なことだからもう一度書く。

  1. エンジニアでもない図書館の人が今回の件について理解しきれないのは仕方が無い。Excelの使い方の話じゃあるまいに、素人にわかれというのは無理がある。
  2. しかしそれでも、話が大きくなってゆく過程で図書館の中の人による理解はすすんだかのように見えた。それはある意味希望でもあった。
  3. にもかかわらず結局は、 とんでもなく低品質なモノを三菱電機インフォメーションシステムズから売りつけられていたという真実を自覚できていない発言にみんな目がテン。
  4. よって、そんな図書館長という存在自体が税金の無駄である。
「自治体がベンダーの食い物にされている」と書きましたが、企業が利益を追求するのはある意味当然。また、自治体に高い専門性を求めるのも酷です。しかし、使われているのは税金なんですよね。 #librahack

see also:

追記

Togetter - 「クローラーってキモイ?」というツイートまとめに、件の神田記者が興味深い話をしています。これもこれで根が深い...

@WilfremLuminous 実は、当初の原稿には「クローラー」という単語も解説付きで入れてあったんです。ところが、それを読んだ複数の記者が、何か得体の知れない恐ろしいものが図書館のデータベースからデータを勝手に漁っている、という印象を受けていました。 #libraHack
それで「クローラー」という単語は削ったという経緯があります。パソコンを使って実際にプログラムの挙動を説明すると、「なーんだ、そんなことなの? そんなことで逮捕されちゃったの?」とみんな納得していましたが。 #libraHack
@WilfremLuminous MDISや取材したほかのメーカーは、クローラーやマッシュアップについて正確に把握していました。だからこそMDISは図書館ソフトウェアを改修したんでしょう。 #libraHack

みんながみんな「検索」しまくれているのは、すべてクローラーとよばれるもののおかげなのに...

追記

朝日の人による燃料投下 (っていうと語弊があるしそもそも高木氏が既に言及してたネタだが)が追加され、とにかく一連の流れを受けての「実際どうあるべきだったんだろう?」という学生さんのごく素朴な質問に答える形での識者のツイートがこちら。

@masaki_hamasaki 図書館は法に則って運営されるべきだし、パッケージソフトは出荷前にテストすべきだし、個別システムは稼働前に負荷試験すべきだし、警察は逮捕する前にちゃんと調べるべきだし、どれひとつできてないから馬鹿なことにWed Aug 25 01:01:12 via web

ある意味見事な今北産業。マジ脱帽です。