水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2009年のえび日記 > 2009年4月

2009年4月

2009年4月28日(火曜日)

けいおん!

公開: 2009年4月29日22時50分頃

買ったので。

ムギのまゆげがどんどん太くなって行くのが面白い。

関連する話題: マンガ / 買い物 / けいおん!

この世界の片隅に 下

公開: 2009年4月29日21時40分頃

買ったので。

絵が好きだったすずさんが……。

関連する話題: マンガ / 買い物

2009年4月26日(日曜日)

ワールドエンブリオ4,5

公開: 2009年4月29日14時0分頃

買ったので。

5巻が、5巻が凄すぎるっ。

まず、鈴さんの水着が色々な意味でヤバイ。ネタとしては「らき☆すた」で見たような気がするのですが、鈴さん26歳ですからね。

そして吾妻さんですよ。吾妻さんの部屋の様子に、素で吹いてしまったわけですが。……いや……まさか……ねぇ? 完全にフラグだと思っていましたよ。

関連する話題: マンガ / 買い物 / ワールドエンブリオ

2009年4月24日(金曜日)

文字列に変換してSQLインジェクションを100%防ぐ?

公開: 2009年4月29日13時55分頃

WEBマーケティング研究会: 第1回・SQLインジェクション (www.webdbm.jp)」。

この記述には度肝を抜かれました。

SQLインジェクションは、予期しない変数や命令文に対処できないアプリケーションの脆弱性です。根本的な対策としては、アプリケーションに渡す変数をすべて文字列に変換すれば、SQLインジェクションを100%防ぐことができます。

文字列に変換すれば100%防げる!?

SQLインジェクションはそもそも、「1 OR 1=1--」とか「foo' OR 1=1--」とかいった文字列を渡して攻撃するのです。文字列を文字列に変換しても何も起きないわけでして、全く意味のない話だと思うのですが……。よく見ると、続きにはこう書いてあったりします。

これをエスケープ処理と言いますが、現実問題としてすでに稼動しているWebアプリケーションに対して、このような対策を行うことは容易ではありません。

……いや、文字列に変換することを「エスケープ処理」と言ったりはしないですよ……。

というわけで何のことを言っているのか全く分からなかったのですが、徳丸さん (www.tokumaru.org)のブックマークコメントで理解しました。

これは大垣メソッドのコピペでは? 参考 http://gihyo.jp/dev/serial/01/php-security/0005?page=2 (gihyo.jp)

以上、はてなブックマーク - ockeghemのブックマーク より

ここで言う「大垣メソッド」とは、「なぜPHPアプリにセキュリティホールが多いのか? 第5回 まだまだ残っているSQLインジェクション (gihyo.jp)」の「すべての変数をエスケープする対策」の項で述べられている手法です。単純に、SQL文に連結するすべての変数に対して、「エスケープして引用符で括る」という処理を行います。

この手法はSQLインジェクションの対策としては有効です。ただし、数値型の値も引用符で括ると文字列として扱われてしまいますので、本来必要ないはずの型変換が発生します。そのような型変換は望ましくないのではないか、という議論があります (「変数に型のない言語におけるSQLインジェクション対策に対する考察(5) 数値項目に対するSQLインジェクション対策のまとめ (www.tokumaru.org)」)。

※このあたりは以前、徳丸さん・大垣さん交えて直接議論させていただいたことがありますが、楽しかったですね。

ともあれ、いわゆる大垣メソッドのポイントは「エスケープする」ということです。すべての変数を文字列として扱うのは、一律に同じエスケープ処理を適用できるようにするためです。文字列として扱うという点は、対策の要ではないのです。

要は、大垣さんが「文字列として扱い、かつエスケープ処理を行う」と言っているのに、それが「文字列に変換する。これをエスケープ処理と言う」に翻訳されてしまったという話なのですね。SQLインジェクションの仕組みを理解していないと、こういう誤解もあり得るということなのでしょう。

※昔、別件で「他人のセキュリティ解説を理解しないままコピペする人がいて怖いよね」という話をしたことがありますが、まあ、なかなか難しいですよね。

関連する話題: Web / セキュリティ

2009年4月23日(木曜日)

スクランブル

公開: 2009年4月26日20時45分頃

読み終わったので。

主要メンバー6人がなかなか覚えられない……。

と、こんなところ?

ミステリというより青春小説としての性質が強いような気もしますが、なにげに叙述トリックっぽいものも使われていたりしてなかなか。ただ、新任捜しは明らかに主眼ではないですよね。

※あと、『教養も学歴もあるが、体制に都合の悪いことはなんにも知らない』というフレーズが印象に残りました。

関連する話題: / 買い物

2009年4月22日(水曜日)

PHPのreadfileでプロキシ

公開: 2009年4月26日20時15分頃

Flash関連で、「してやられました。クロスドメイン上の画像、Bitmap.drawのトラップ!! (d.hatena.ne.jp)」というお話があったのですが、プロキシとして動作するPHPのサンプルコードにびっくり。コードの元ネタは「Flex2でCoverFlowクローンを作る (4) ~鏡面加工する (my.opera.com)」に出ているもののようですが、ともあれこんなコードです。

<?php

if($_GET["file"]){

header("Content-Type:image/jpeg;");

readfile($_GET["file"]);

}

?>

こんな簡単なコードで動くなんて、PHPは凄いなぁと思います。readfile() はファイルを読んでそのまま出力するものですが、http://…… で始まる URL を渡すと、そのURLからファイルを取ってきて読んでくれるのですよね。これは便利。……なのですが、PHPのこの手の機能は悪用されやすいことも周知の通りで、PHP の設定でallow_url_fopenを無効にすることを推奨している人も多いようです。

興味深いことに、このコードの場合は攻撃パターンが逆なのですね。リモートファイルインクルードは「サーバ内のファイルを読むつもりが、URLを渡されたら外部のファイルを読んでしまった」となるのですが、このコードでは「外部のURLを読むつもりが、URLでないものを渡されたらサーバ内のファイルを読んでしまった」となります。

※まあ、あくまでサンプルコードとして掲げられているだけなので、これをそのまま使う人はいないと思うのですが。

りゅうさん (rryu.sakura.ne.jp)の説によると、元ネタは http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001950.html (livedocs.adobe.com) らしい。

関連する話題: セキュリティ / PHP

2009年4月21日(火曜日)

idea×よつばと!

公開: 2009年4月26日19時55分頃

今週のidea 334号 (www.amazon.co.jp)の表紙が「よつばと!」だったのでびっくり。

販促物も含めて世界観を統一していくというお話は興味深く、なんとなく信蔵さん (shinzlogclips.blogspot.com)の話を思い出したりしました。確かに「よつばと!」のデザインは良くできていると思います。

関連する話題: / よつばと!

2009年4月19日(日曜日)

ビジネス・アーキテクツのマークアップエンジニア

公開: 2024年5月8日23時30分頃

「HTMLやってる」人を何と呼ぶ? (slashdot.jp)」。

一口に「HTMLやってる」と言っても、そのレベルはピンキリだと思いますが。特に、「アクセシブルなHTMLを書くことができる」とか、「企業サイトのガイドラインの作成や監修ができる」という人は、それほど多くないように思います。HTMLを専門にしている人は、HTML4の仕様を読んでいるのはもちろんのこと、WCAGなどの周辺の仕様にも精通しているわけで、その部分の差はけっこう大きいでしょう。

ところで、世間にはマークアップエンジニアという言葉があって、「第1回 マークアップ・エンジニアって何? (itpro.nikkeibp.co.jp)」によると、以下のようにあります。

マークアップ・エンジニアという言葉は,Web制作会社であるビジネス・アーキテクツの森田 雄(もりた ゆう)氏が考えた言葉です。森田氏は自社の求人情報の原稿を考えている際に,コーダーという名称はどうなんだろうなぁ,と思ったそうです。コードという言葉はプログラミング言語という意味合いも含みますよね。コーダーはプログラムを書いている訳でもないしなぁ,と悩んでいた際に,マークアップ・エンジニアという言葉を思いついたそうです。

と、他人事のように引用してみましたが、かく言う私はまさにその瞬間ビジネス・アーキテクツでマークアップ・エンジニアの仕事をしていたわけで、マークアップ・エンジニアの元祖と言っても良いでしょう。いまさら感がありますが、ここでマークアップ・エンジニアとその仕事の移り変わりについて、少し書いておきたいと思います。

HTML4.0が勧告となったのは1997年12月18日のことです。HTML4ではスタイルシートが使えるようになり、要素のレイアウトなどのビジュアルデザインを定義することができるようになりました。実はHTML3.2ではそういうことはできなかったので、table要素を使ってレイアウトっぽいことを擬似的に実現するという方法が使われていました。いわゆるtableレイアウトです。

20世紀中はまだNetscape4が現役で、企業サイトなどではまだtableレイアウトが使われている時代でした。その頃の企業サイトのマークアップ作業はどういうものかというと、作業者にページ単位で作業を割り振って、1ページずつ個々に作って行くというやり方でした。ヘッダ・フッタは共通であるものの、コンテンツ内の個々の要素配置は個々のページごとに行っていたため、それで良かったのです。

このときはたぶん、HTMLを書く人は普通に「コーダー」などと呼ばれていました。

21世紀になるとNetscape4が廃れ、スタイルシートを使った企業サイト構築が一般的になってきます。そうすると、従来のようにページ単位で作業を割り振るやり方は通用しなくなってきます。スタイルシートはサイト全体に共通のスタイルを適用しますから、ページごとにめいめい勝手に作るというやり方ではうまく行かないのです。一人ですべてを作るのなら何の問題もありませんが、大規模な企業サイトを一人ですべて作るのは現実的ではありません。どうやって作業を分担するのかが課題になります。

必然的に、事前にきっちり設計しておいたものを展開する、という流れになってきます。弊社では、事前に設計されたパーツを「コンポーネント」と呼んでいますが、コンポーネントを設計するという役割と、コンポーネントを実際に展開してページを作成するという役割、この二つができてくるわけです。

※さらに時代が下るとCMSというものが普及してきますが、展開するのが手からツールになっただけで、やっていることはほぼ同じです。

というわけで、単にHTMLを書くのではなく、全体を見ながら設計するという作業が発生します。こうなってくると、その仕事をする人を「コーダー」と呼ぶのは違和感があります。違うことをしているのですから、違う言葉で呼ぶべきでしょう。

最近ではマークアップ「デザイン」エンジニアという呼び方をしていますが、それはやはり、単にHTMLを書くのではなくて、設計する、デザインするということに主眼をおいた仕事になってきているからなのだと思います。

関連する話題: Web

2009年4月18日(土曜日)

ワールドエンブリオ2,3

公開: 2009年4月19日23時30分頃

買ったので。

1・2巻がプロローグ、3巻でチュートリアル、これから本編に突入という感じですね。

しかし脇役キャラの鈴さんが異様に可愛くて、私の中では鈴さん >> (越えられない壁) >> ヒロインのレナとなっており、なかな大変なことになっております。

関連する話題: マンガ / 買い物 / ワールドエンブリオ

2009年4月17日(金曜日)

IE+色指定無視でW3Cのサイトが読めなくなる話

公開: 2024年5月8日16時40分頃

奇妙な現象に遭遇したのでメモしておきます。

こうすると、サイト側の色指定を無視して黒背景、白文字になる事が期待されます。この状態でもちゃんと読めるようになっている必要があるわけですが、http://www.w3.org/TR/WCAG20/ にアクセスすると……なんと、背景がほとんど真っ白で読めません。これはひどい。WCAG に限らず、W3C のサイト内のほとんどのページで真っ白です。

どうも、http://www.w3.org/StyleSheets/TR/W3C-REC の末尾にある

body {

background-image: url(http://www.w3.org/StyleSheets/TR/logo-REC);

}

という指定が原因のようで、これを丸ごと消したり、background-imageのかわりにbackgroundを使ったり、background-colorの指定を追加したりするとちゃんと黒背景になります。おそろしいことにbackground-image: noneでも駄目で、background-imageの指定が存在するだけでNGのようです。ユーザスタイルシートで

body {
background-image: none !important;
}

と指定すると、全てのサイトで同じ現象が発生します。たぶん、背景色を無視する指定になっているときにbackground-imageだけが指定されていてbackground-colorが指定されていないと、背景が白になってしまうのでしょう。IEの不具合だと思うのですが……。

※色指定無視のときは背景白・文字色黒しか想定していない?

※ちなみにFirefoxではこんな変なことは起きず、ちゃんと白文字・黒背景になります。

関連する話題: アクセシビリティ / Internet Explorer

2009年4月16日(木曜日)

サンタクロースのせいにしよう

公開: 2024年5月8日15時35分頃

読み終わったのでメモ。

続き物ですが短編集っぽい体裁。それぞれ一言メモしておきます。

あなただけを見つめる

幽霊の正体見たり……。義兄の死因はあくまで想像のままで終わりますね。

サンタクロースのせいにしよう

読んでいてわかりにくいと思うわけですが、わかりにくさには理由があり。

死を言うなかれ

たんぽぽコーヒーなんてものがあるのですね。

犬の足跡

幽霊の正体が判明する、ちょっと嫌な話。"It rains cats and dogs" は土砂降りという意味。

虚構通信

いまいちよく分からないというか、すっきりしない話。すっきりしないのが正解のような気もしますが。

空飛ぶマコト

これも微妙な話。そんなふうに運ぶものでしょうかね。

子どものけんか

ビデオ破壊問題。密室の条件がちょっとわかりにくいかも。

関連する話題: / 買い物

他人のWikiに勝手にファイルを貼る

公開: 2024年5月8日15時3分頃

ブラウン大学の院生が Wiki を利用した P2P ストレージを開発 → 管理者困惑 (slashdot.jp)」。

一部のWikiが有するファイルアップロード機能を使ったのか? ……と思いきや、そうではなくて、エンコードしたデータをテキストとしてWikiに貼るという話のようで。Base64とかISHみたいなものでしょうね。

考えてみると、Wikiに限らず掲示板でも何でも行けるわけで、こういう形の不正利用もあり得るということは念頭に置いておいた方が良さそうですね。

関連する話題: Web / セキュリティ

2009年4月14日(火曜日)

IPA/ISEC 21年度 PGP公開鍵

公開: 2024年5月8日17時0分頃

4月になったので、IPA/ISEC PGP公開鍵 (www.ipa.go.jp)が新しくなっていますね。

一年ぶりに鍵を更新しようとすると、GPGの使い方をさっぱり忘れているという。いろいろ頑張って更新しました。

関連する話題: IPA

森の生活 145日目: きんのオノ

公開: 2009年4月14日10時30分頃

街へいこうよ どうぶつの森 (www.amazon.co.jp)、145日目。

アメがタンスに入りきらなかったので、アメ預かり用のサブキャラを作ったのですが、その子が……。

なんと、あっさり、きんのオノゲット。バイト直後でまだ作業着のままなんですけどね。

うーん。世の中こんなもんですよね。

関連する話題: ゲーム / Wii / 任天堂 / どうぶつの森 / 街へいこうよ どうぶつの森

2009年4月12日(日曜日)

森の生活 143日目: ぴょんたろうがやってくる日

公開: 2009年4月12日10時30分頃

街へいこうよ どうぶつの森 (www.amazon.co.jp)、143日目、ぴょんたろうがやってくる日。

ウサギにタマゴと、どう見てもイースターなのですが、公式サイトなどを見てもイースターとか復活祭とかいう言葉は一切使われていないようで、あくまで「ぴょんたろうがやってくる日」のようです。

そのぴょんたろうは役場の前にいます。

どう見ても背中にチャックがあるのですが、本人(?)は着ぐるみではないと主張。

村中にイースターエッグ……もとい、謎のタマゴが埋められているので掘り返します。タマゴを開けるとアタリくじか、アメが入っています。アメはハズレなのですが、このアメ、カーニバルの時のアメと同一アイテムだと思うので、とっておけば使えそうですね。というか、カーニバルであんなに苦労して入手したアメが、ハズレ扱いで簡単に手に入るって、どうなのでしょうね。

ぴょんたろうにアタリを渡すと、タマゴシリーズの家具と交換してくれます。幸い、かぶらないように渡してくれるのでコンプリートは容易です。もっとも、アタリくじ自体ぴったり12枚しかありませんので、全部掘り当てないと駄目ですが……。

たまごマトリョーシカが可愛いなぁ。

ちなみに、プレイヤーキャラが複数いる場合、各キャラでそれぞれ掘れます。

関連する話題: ゲーム / Wii / 任天堂 / どうぶつの森 / 街へいこうよ どうぶつの森

2009年4月11日(土曜日)

定額給付金めんどくさい

公開: 2009年4月13日15時20分頃

定額給付金の申請書が届いたわけですが……。

身分証明書のコピーと、さらに通帳orキャッシュカードのコピーが必要らしく、ひたすら面倒くさいです。どうして、そんなものが必須なのですかね。所得税の還付申告のときでも、そんなものをつけろと言われた記憶なんてまったくないのですが。

※そしてもちろん還付金はちゃんと振り込まれています。

関連する話題: 出来事

2009年4月10日(金曜日)

向日葵の咲かない夏

公開: 2009年4月11日21時0分頃

読み終わったので。

のっけから終わりまで、怖いと言うより「気味が悪い」。これはもちろん意図されたもので、ホラーミステリというのですかね?

序盤から生まれ変わりなんか出てきてしまって、これはオカルトものかと心配になりますが、実はそうでもなかったりします。叙述トリック系は私はわりと好きなのですが、これは人を選びそうだなぁ。

関連する話題: / 買い物

2009年4月8日(水曜日)

ウェブ健康診断

公開: 2024年5月8日15時32分頃

ウェブ健康診断 (www.lasdec.nippon-net.ne.jp)」というのがあるそうで、自治体向けに統一の脆弱性検査が実施されたようですね。結果は公開されていませんが、診断の仕様と報告書の雛形が公開されています。

「自治体のセキュリティ診断仕様? どうせ文章ばっかり小難しくて内容空っぽなんじゃないの?」……というひどい先入観を持って読んだわけですが、良い意味で裏切られました。簡潔にして明確ですし、実践的な内容ですね。これなら私でも検査できそうです。

あくまで「基本的な対策が出来ているかどうかを診断するもの」という位置づけなので、あまりマニアックな検査は入っていないのですが、必要にして十分な内容ではないかと思います。ベンダが自社で開発したアプリケーションの検査にも使えるでしょうし、なかなか良いのではないでしょうか。

※「ウェブ健康診断」という名前が微妙すぎるという話はあるかもしれませんが。

関連する話題: セキュリティ

2009年4月7日(火曜日)

ワールドエンブリオ

公開: 2009年4月8日14時6分頃

購入。

とりあえず続きが気になっている状態なので、感想などはもう少し続きを読んでからにしたい感じ。

関連する話題: マンガ / 買い物 / ワールドエンブリオ

2009年4月6日(月曜日)

スターフォース : ラリオスが倒せない

公開: 2009年4月8日13時47分頃

懐かしのゲームセンター用ゲームがWiiでお楽しみいただける「バーチャルコンソール アーケード」開始 (www.nintendo.co.jp)……ということでアーケード版の「スターフォース」が出ているではありませんか。スターフォース、アーケード版はプレイしたことがないのですが、SG-1000Ⅱのスターフォースはかなりやりこんだのですよね。ファミコン版もプレイしましたが、SG-1000Ⅱ版のほうが好きだったり。

……というわけで懐かしく思ってダウンロードしてみたのですが、あれ、こんなに難しかったっけ……? アーケード版だからと言うことを差し引いても、ラリオスが倒せないんですが。いや、合体後なら倒せますけど、それは倒したと言わないんで。

SG-1000Ⅱのデフォルトのパッドで、あのぺこぺこしたゴムボタンで割と普通に倒していたはずなのに。いろいろ衰えたのかなぁ。orz

※連射装置があると急に難易度が下がるゲームだったりもするのですけどね。

関連する話題: ゲーム / Wii / バーチャルコンソール

エレクトロニクスなひも

公開: 2024年5月8日21時25分頃

Amazonで「コクヨS&T つづりひも(パック入り) 金属先 20本入り ツ-110B (www.amazon.co.jp)」というのを買ったのですが、納品書を見たら種類が「エレクトロニクス」になっていて吹いた……。

※文房具系は「エレクトロニクス」になるっぽい。

関連する話題: 与太話

副作用虫 / 計算機プログラムの構造と解釈

公開: 2024年5月8日18時20分頃

会社でSICPこと「計算機プログラムの構造と解釈 (www.amazon.co.jp)」が話題に。

※原題: "Structure and Interpretation of Computer Programs"

「良書」という評価と「読みづらい」という評価があるようですが、大学の教科書ぽい体裁もさることながら、訳がこんな感じだったりして。

「バグ」という言葉は使われておらず、「虫」で統一されているっぽい。統一されていればOKではあろうと思うのですが……いろいろきつい感じがします。

※サンプルコードがLISPだったりするのも個人的にはつらいなぁ。

関連する話題: プログラミング /

2009年4月3日(金曜日)

CakePHPガイドブック : 比較演算子インジェクション

公開: 2009年4月5日21時50分頃

CakePHPガイドブック (www.amazon.co.jp)」という本に、耳慣れない「比較演算子インジェクション」という言葉が出ており。著者の方のサイトに「CakePHP 比較演算子インジェクションに注意 (www.1x1.jp)」というお話が。

昔のCakePHPではこんなふうに、「演算子 + 値」を引数として渡すことができるようになっていたそうで。

$list = $this->findAll(array('id' => '> ' . $id));

さらに、演算子が「=」の場合は省略できるので、こう書けます。

$list = $this->findAll(array('id' => $id));

……が、このとき、$id に '!=foo' なんて値が入っていると、その演算子が使われてしまうという罠。なんという罠仕様……。

CakePHP1.2からは、値ではなくキーの方に演算子をつけるようになったとのことです。

関連する話題: セキュリティ

組織の幹部は公にしない方針

公開: 2009年4月5日19時20分頃

コンピュータウイルス・不正アクセスの届出状況[3月分および第1四半期]について (www.ipa.go.jp)」。

「被害事例」にひどすぎる話が。

IPA の SQL インジェクション検出ツール「iLogScanner」でログをチェックしたところ、攻撃が成功していたと思われる形跡が数万件検知された。半年も前から、攻撃が続いていたようだ。

しかし、組織の幹部はこの事実を公にしない方針らしく、さらなる調査を進めることができない。

うわぁ。これはひどい。

検知の状況からして、「脆弱性はあるが攻撃されていない」というような状態ではなく、既にいろいろやられてしまっている可能性がかなり高いでしょうしね……。

関連する話題: セキュリティ

2009年4月2日(木曜日)

発注者のためのWebシステム/Webアプリケーション セキュリティ要件書

公開: 2009年4月5日19時15分頃

アイアクト、Webサイトのセキュリティ要件仕様書を無償公開 (enterprise.watch.impress.co.jp)」だそうで、「発注者のためのWebシステム/Webアプリケーション セキュリティ要件書 (xn--v1t6us6kb66awvj.jp)」というものが公開されていますが……。

うーむ。関わっている方々は、やればできる方たちだと思うのですけれど。日本語としてのクオリティは気にしないとして、個人的によく分からなかったり疑問に思ったりしたところをいくつかメモしておきます。

1.1 以下の箇所では、認証を実施すること

認証済みユーザーのみに表示・実行を許可すべき画面や機能

これは何を言っているのでしょうか。「認証済みユーザーのみに表示・実行を許可すべき画面や機能」に認証を実施するのは、あたりまえです。それができていなかったら明らかに不具合でしょう。何も言っていないに等しいと思うのですが。

パスワード文字列は英数字をすべて含む7文字以上とすること

7文字以上としている意味が分かりません。英数字をすべて含むパスワードは、英字26字と数字10字をすべて含むのですから、必然的に36文字以上になりますよね。:-)

※たぶん、英字と数字の両方を含むということが言いたいのだろうと思いますが、意味がだいぶ違ってきますので。

それはそれとして、やはり7文字の根拠がよく分かりません。経験上、8文字以上としていることとが多いように思いますが……。

画面にパスワード文字列を表示しないこと

入力フォームはtype="password"で指定すること

後者の表現がアレすぎるのは気にしないとして、この条件では input type="hidden" にパスワードを出力するようなケースが許されるのかどうかがハッキリしません。画面には表示されないので hidden や input type="psassword" に対してエコーバックするのはOK、というポリシーのように読めますが、それで良いのでしょうか。

※ちなみに、Cookieにパスワードをセットすることは別項目で禁止されています。

3.1 セッションの破棄について

認証済みのセッションが1時間以上アイドル状態にあるときはセッションタイムアウトとし、サーバー側でセッションを破棄しログアウトすること

ちなみに、WCAG2.0 (www.w3.org)では1時間での強制タイムアウトはNGです。2.2.1(Timing Adjustable) (www.w3.org)の項目では、操作に時間制限をつけないようにする、時間制限をユーザが延長できるようにする、といったことが求められていて、それができない場合、"20 Hour Exception: The time limit is longer than 20 hours." ……すなわち、20時間以上であれば許容するとしています。その理由はこんな感じで、

•20 hours was chosen as an upper limit because it is longer than a full waking day.

以上、Understanding SC 2.2.1 (Timing Adjustable) より

まあ、まる一日あれば良いでしょうということのようです。

ともあれ、理由も説明せずに1時間で強制タイムアウトしろと言われても困ります。まあ、「セッションタイムアウトの時間については、サービスの内容に応じて調整することが必要になります。」とありますので、WCAGを尊重したい場合は調整すれば良いのでしょうけれど。

5.1 クロスサイトスクリプティング(XSS)対策を講じること

すべてのHTML出力で特殊文字(< > " ' &)をエスケープすること

なぜ ' をエスケープしなければならないのかが謎です。5.2では

HTMLタグの属性値を「"」で囲うこと

と規定しているので、原則として ' をエスケープする必要はないと思うのですが。

※「タグの属性値」という表現についてはスルーで。

URLを出力するときは「http://」や「https://」で始まるもののみを許可すること

この書き方ですとアプリケーションが出力する全てのURLに適用しなければならないように読めますが、そんなアプリケーション見たことありません。「ユーザーに任意のURLを入力させるとき……」あるいは「ユーザーが入力したURLを出力するとき……」ということで良いかと思うのですが、そうできない理由が何かあるのでしょうか。

<script>...</script>要素の内容やイベントハンドラ(onmouseover=””など)を動的に生成しないようにすること

イベントハンドラは、クライアント側のスクリプトで動的生成されることが多いです。jQueryなんか使っていると、いつの間にかbodyのonloadが大変な事になっていたりします。そういうことまで禁止されているのかどうか、判然としない書き方ですね。

8.1 利用者のWebブラウザ環境を操作せずデフォルト状態で動作すること

・ セキュリティ設定の変更

「利用者のWebブラウザ環境を操作」して「セキュリティ設定の変更」をすることができるなら、そのブラウザには大変な脆弱性があるということになりそうです。アプリケーション側から「操作する」のと、ユーザに指示して「操作させる」のはだいぶ違うわけで、そこは混同しないようにした方が良いかと思うのですが。

8.2 フレーム、IFRAMEを使用しないこと ※

フレームやIFRAME内に表示されている画面は、ブラウザ上で一目で確認することができません。フレームやIFRAMEの使用を避けることが望ましいでしょう。

理由はそれで良いのでしょうか。任意項目ですから、「一目で確認できれば良い」と解釈されてあっさりスルーされそうですが……。

関連する話題: セキュリティ / フレーム

2009年4月1日(水曜日)

森の生活 132日目: エイプリルフール

公開: 2009年4月2日0時50分頃

街へいこうよ どうぶつの森 (www.amazon.co.jp)、132日目。

桜シーズン突入なのです。

4月1日はエイプリルフールなので、村長がプレゼントをくれます。

……葉っぱをもらいましたが……。いちおうレア家具なんですかね?

関連する話題: ゲーム / Wii / 任天堂 / どうぶつの森 / 街へいこうよ どうぶつの森

最近の日記

関わった本など